ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:37.49KB ,
资源ID:3583198      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3583198.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++习题函数.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++习题函数.docx

1、C+习题函数第1题: 编写两个函数,函数功能分别是:求两个整数的最大公约数和最小公倍数,要求输入输出均在主函数中完成。 样例输入:15 25样例输出:5 75 程序如下#includeint main() int m,n; int gys(int,int); /声明函数 int gbs(int,int); /声明函数 cinmn; coutgys(m,n) gbs(m,n);int gys(int a,int b) int r; r=a%b; while(r!=0) a=b;b=r;r=a%b; return b;int gbs(int a,int b) int gys(int,int); /

2、声明函数 return (a*b)/gys(a,b);第2题: 编写函数digit(num, k),函数功能是:求整数num从右边开始的第k位数字的值,如果num位数不足k位则返回0。要求输入输出均在主函数中完成。 样例输入:4647 3 样例输出:6 样例输入:23523 7 样例输出:0 程序如下:方法一:#includeint main() int num,k; int digit(int,int); /声明函数 cinnumk; coutdigit(num,k);int digit(int num,int k) int i,f; i=1; f=0;/f=0,num不足k位,否则f=1

3、while(num!=0) if(i=k) f=1; break; else num=num/10; i+; if(f=1) return num%10; else return 0;程序如下:方法二:#includeint main() int num,k; int digit(int,int); /声明函数 cinnumk; cout=k) return ak-1; else return 0;第3题: 哥德巴赫猜想指出:任何一个不小于6的偶数都可以表示为两个素数之和。例如:6=3+3 8=3+5 50=3+47。从键盘输入n(n=6且为偶数),输出对应的表达式,要求编写函数判断一个数是否

4、为素数。 样例输入:8 样例输出:8=3+5 程序如下:#include int main() int n,n1,n2,hs=0; int prime(int); cinn; for(n1=3;n1=n/2;n1+=2) if(prime(n1)=1) n2=n-n1; if(prime(n2)=1) coutn=n1+n2endl; break; /判断n是否是素数,若是,返回1,否返回0int prime(int n) int gs=0,i; for(i=1;i=n;i+) if(n%i=0) gs+; if(gs=2) return 1; else return 0;第4题: 编写函数,

5、将字符串中的大写字母变成对应的小写字母,小写字母变成对应的大写字母,其它字符不变。在主函数中调用该函数,完成任意字符串的转换,并输出结果。输入字符串(允许包含空格),输出处理后的结果。 样例输入:How Are You?样例输出:hOW aRE yOU?程序如下:#include int main() char a30; void zh(char ); /函数声明 gets(a); /字串允许包含空格,所以用gets输入 zh(a); puts(a);void zh(char t) int i; for(i=0;ti!=0;i+) if(ti=a&ti=A&ti=Z) ti+=32;第5题:

6、编写函数,求一个字符串的长度。在主函数中调用该函数,输出结果。输入字符串(允许包含空格),输出字符串的长度。 样例输入:How Are You? 样例输出:12程序如下:#include int main() char a50; int cd(char ); /函数声明 gets(a); /字串允许包含空格,所以用gets输入 printf(%d,cd(a);int cd(char t) int i; for(i=0;ti!=0;i+) ; return i;第6题: 编写函数,求两个整数的最大公约数和最小公倍数。在主函数中调用该函数,输出分2行,第一行为最大公倍数,第二行为最小公倍数。 样例

7、输入:15 25样例输出: 5 75 程序如下:(用指针)#includeint main() int m,n,gy,gb; void gygb(int,int,int *,int *); /声明函数 cinmn; gygb(m,n,&gy,&gb); coutgyendlgb;void gygb(int a,int b,int *pgy,int *pgb) int r,a1,b1; a1=a;b1=b; r=a%b; while(r!=0) a=b;b=r;r=a%b; *pgy=b; *pgb=(a1*b1)/b;程序如下:(用全局变量)#includeint gy,gb;int main

8、() int m,n; void gygb(int,int); /声明函数 cinmn; gygb(m,n); coutgyendlgb;void gygb(int a,int b) int r,a1,b1; a1=a;b1=b; r=a%b; while(r!=0) a=b;b=r;r=a%b; gy=b; gb=(a1*b1)/b;第7题: 95编写函数,函数功能是:计算n的阶乘,要求输入输出均在主函数中完成。样例输入:10样例输出:3.6288e+06程序如下:#includeint main() int n; float jc(int); /声明函数 cinn; coutjc(n);/

9、函数定义成实型float jc(int n) int i; float t;/存放阶乘的变量定义成实型 t=1; for(i=1;i=n;i+) t*=i; return t;第8题: 99有一分段函数如下,编写函数进行计算,在主函数中输入x值,输出y值。 样例输入:-1.5 样例输出:0.00250501 样例输入:5.6 样例输出:31.8957 样例输入:12.5 样例输出:4.06202程序如下:#include#include int main() float x,y; float js(float); /声明函数 cinx; y=js(x); couty;float js(floa

10、t x) float y; if(x=0) y=sin(x)+1; else if(x10) y=x*x+3/x; else y=sqrt(x+4); return y;第9题: 编写函数,函数功能是:统计整数n的各位上出现数字1、2、3的次数。要求输入输出均在主函数中完成。 样例输入:123114350样例输出:3 1 2 程序如下:#includeint main() int count3=0,n,i; void tj(int ,int); /声明函数 cinn; tj(count,n); for(i=0;i3;i+) coutcounti ;void tj(int js,int x) w

11、hile(x!=0) switch(x%10) case 1:js0+;break; case 2:js1+;break; case 3:js2+;break; x=x/10; 第10题: 编写函数fun(num),其中num是一个n位数,函数功能是:求整数num的后n-1位,如果num是一位数则返回0,要求输入输出均在主函数中完成。 样例输入:9 样例输出:0 样例输入:6734 样例输出:734 样例输入:1000 样例输出:0 样例输入:10101 样例输出:101 程序如下:#include #include int fun(int w) int n,k; n=0;k=w; if(w1

12、0) n+;w=w/10; /pow的函数值为实型,所以此处须强制转换成整型return k%(int)pow(10,n); int main() int num; cinnum; coutfun(num);第11题: 编写函数,函数功能是:将两个两位数的正整数a、b合并成一个整数c,合并规则是将a的十位和个位分别放在c的千位和个位,将b的十位和个位分别放在c的百位和十位。a、b由键盘输入,输入输出均在主函数中完成。 样例输入:45 12样例输出:4125 程序如下:#include int hb(int a,int b) int c,a_s,a_g,b_s,b_g; a_s=a/10;a_g

13、=a%10; b_s=b/10;b_g=b%10; c=a_s*1000+b_s*100+b_g*10+a_g; return c;int main() int a,b,c; cinab; c=hb(a,b); coutc;第12题: 求数列的前n项和要求使用函数,函数功能是:计算数列的每一项,n由键盘输入。累加过程和输入输出均在主函数中完成。样例输入:10 样例输出:0.382179程序如下:#include #include float js(int i) float c; c=1.0/(i*(i+1)*pow(-1,i+1); /注意表达式类型 return c;int main() f

14、loat jf(int); int n,i; float s=0; cinn; for(i=1;i=n;i+) s+=js(i); couts;第13题: 求数列 其中分母为n以内(包括n)的素数。要求使用函数,函数功能是:计算数列的每一项,n由键盘输入。累加过程和输入输出均在主函数中完成。 样例输入:50 样例输出:1.66165 程序如下:#include float pd(int n) int p=1,i; for(i=2;in; s=0; for(i=2;i=n;i+) s+=pd(i); couts;第14题: 编写程序求给定整数n的“亲密对数”。“亲密对数”是指:若整数a的因子(包

15、括1但不包括自身,下同)之和为b,而整数b的因子之和为a,则称a和b为一对“亲密对数”。要求使用函数,函数功能是:计算某一个数的因子(包括1但不包括自身)之和。n由键盘输入,如果存在“亲密对数”则输出该数,否则输出NO。要求输入输出均在主函数中完成。样例输入:220 样例输出:284 样例输入:8 样例输出:NO 程序如下:#include int yzh(int n) int s=0,i; for(i=1;in1; n2=yzh(n1); if(n1=yzh(n2) coutn2; else coutNO;第15题: 编写函数,功能是交换数组中的最大数和最小数的位置,并计算所有数之和。例如数

16、组a有5个元素3、4、1、5、2,将最大数5和最小数1的位置交换后得到3、4、5、1、2,总和为15。程序中用到的主函数为: 程序如下:#include int fun(int a,int n) int max,min,s,i,t; max=min=s=0; for(i=0;in;i+) s+=ai; if(amaxai) min=i; t=amax;amax=amin;amin=t; return s;int main() int a50,n,i,sum; cinn; for(i=0;iai; sum=fun(a,n); for(i=0;in;i+) coutai ; coutendlsumendl; return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1