C++第5节函数 习题答案.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 函数与预处理 1.利用递归函数调用方式,将所输入的5个字符以相反顺序打印出来。 #include iostream using namespace std; int main() { int i=5; void palin(int n); cout请输入5个字符:; palin(i); coutendl; return 0; } void palin(int n) { char next; if(n=1) { next=getchar(); coutnext; } else { next=getchar(); palin(n-1); coutnext; } } 2.编写递归函数求两个正整数a和b的最大公约数(GCD,Greatest Common Divisor),其中Euclid算法: (1)如果a除以b能整除,则最大公约数是b。 (2)否则,最大公约数等于b和a%b的最大公约数。 #include iostream using namespace std; int GCD(int a,int b) { if(a%b==0) return b; else return GCD(b,a%b); } int main() { int i,x,y; cout请输入两个正整数,用空格隔开两个数:; cinxy; i=GCD(x,y); coutx与y的最大公约数为:iendl; return 0; } 3.编写递归函数求Fibonacci数列的第n项,这个数列是这样定义的: fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2) #include iostream using namespace std; int fib(int n) { if(n==0) return 1; else if (n==1) return 1; else { int i; i=fib(n-1)+fib(n-2); return i; } } int main(void) { int i,z; cout请输入要计算的第几项:; cinz; i=fib(z); coutfibonacci数列的第z项为:iendl; return 0; } 4.编写函数,计算s=22!+32!。 #include iostream using namespace std; int fact(int n) { if(n==0||n==1) return 1; else return n*fact(n-1); } int main() { long s; s=fact(22)+fact(32); cout22!+32!=sendl; return 0; } 5.编写函数,判断一个整数数组中各元素的值,若大于0则输出该值,若小于等于0则输出0值。 #include iostream using namespace std; void nzp(int b[],int n) { int i; for(i=0;in;i++) if(b[i]0) coutb[i] ; else cout0 ; } int main() { int a[5],i; cout请输入5个数:; for(i=0;i5;i++) cina[i]; nzp(a,5); coutendl; return 0; } 6.编写函数,求存放在数组中若干个数的平均值。 #include iostream using namespace std; float aver(int b[],int m) { int i,sum=0; float pjz; for(i=0;im;i++) sum=sum+b[i]; pjz=sum*1.0/m; return pjz; } int main() { int i,n,a[1000]; cout请输入数组元素的个数n(n=1000):; cinn; for(i=0;in;i++) cina[i]; cout数组元素的平均值为:aver(a,n)endl; return 0; } 7编写函数,求一个字符串的长度,要求在main函数中输入一个字符串,并输出其长度值。 #include iostream using namespace std; int stringLength(char str[])/*函数,求一个字符串的长度*/ { int length=0,i=0; while(str[i++]

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档