- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C第5章函数习题结果解析
第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++]
您可能关注的文档
- AutoCAD三维曲面及放样造型.doc
- AutoCAD图块及另存及调用.doc
- AutoCAD中大比例尺地形图线状符号库及建立.doc
- AutoCAD考试参考结果解析E.doc
- 37定积分及简单应用.doc
- AutoCAD工程师2级结果解析.doc
- AutoCAD设计复习题及结果解析.doc
- avumfba各种编码器及调零方法.doc
- A不可数名词初中阶段常见及不可数名词有water.doc
- A股铁矿石资源及企业一览.doc
- 实施指南《GB_T41906 - 2022 超氧化物歧化酶活性检测方法实施指南解读》.docx
- 实施指南《GB_T41976 - 2022 停车设备智能控制与管理系统》实施指南.docx
- 实施指南《GB_T41979.5-2022 搅拌摩擦点焊》实施指南.docx
- 实施指南《GB_T42013-2022信息安全技术快递物流服务数据安全要求》实施指南.docx
- 实施指南《GB_T42101-2022 游乐园安全》实施指南.docx
- 新解读《GB_T 27920.1-2011数字航空摄影规范 第1部分:框幅式数字航空摄影》.docx
- 实施指南《GB_T41892-2022 智能船舶机械设备信息编码指南》实施指南.docx
- 实施指南《GB_T41908-2022 人类粪便样本采集与处理》实施指南.docx
- 实施指南《GB_T41977-2022 包装条码标准》实施指南.docx
- 实施指南《GB_T41979.2-2022 搅拌摩擦点焊铝及铝合金焊接接头设计》实施指南.docx
文档评论(0)