- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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++]
您可能关注的文档
- C++ GUI Programming with Qt 4 中文版(第一讲至第十讲).pdf
- 第5节 php.ppt
- C++ 第3讲 多文件程序及作用域.ppt
- 第5节 机械装配图绘制.ppt
- c++1 面向对象程序设计解析.ppt
- C++Builder菜单,工具栏及状态栏.pdf
- C++Builder文件,目录及驱动器.pdf
- 第5节 计量经济学中的自相关性.ppt
- 第5节 图形化视窗操作系统.doc
- C++备课讲义第0节.ppt
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)