- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.编写程序: 用递归算法实现函数: intsum(intn); 其功能是求 1+2+3+? +n 的值并返回。要求编写主
函 数 m a i n ( ) 去调用递归 函 数 s u m ( ) 。
编写程序如下:
【答案】
#includeiostream.h
intsum(intn)
{
if(n==0||n==1)return1;
elsereturnn+sum(n-1);
}
voidmain()
{
intn;
coutpleaseinputn:\n;
cinn;
cout1+2+3+...+n=sum(n)endl;
}
1.编写程序: 分别求出 acm(5,3) 、acm(4,2) 、acm(5,5) 的值。阿克曼函数定义如下:
n+1 m=0
acm(m,n)=acm(m-1,n)n=0
acm(m-1,acm(m,n-1))n0,m0
编写程序如下:
【答案】 #includeiostream.h
intacm(intm,intn);
voidmain()
{
intm,n;
coutpleaseinputmandn:\n;
cinmn;
coutacm(m,n)=acm(m,n)endl;
}
intacm(intm,intn)
{
if(m==0)
returnn+1;
else
{
if(n==0)
returnacm(m-1,n);
else
returnacm(m-1,acm(m,n-1));
}
}
输入: 53输出: 5
输入: 42 输出: 3
输入: 55 输出: 6
2. 编写程序: 要求输入一个整数 n,能够逐位取出正序或反序输出,用递归算法实现:
函数: voidf1(intn); 功能是:将 n逐位取出反序输出
函数: voidf2(intn); 功能是:将 n逐位取出正序输出
算法提示:重复除以 10取余数,直到商为 0为止;若函数中先输出余数,后递归调用,则为反序
输出;若函数中先递归调用,后输出余数,则为正序输出。
编写程序如下:
【答案】 #includeiostream.h
voidf1(intn);
voidf2(intn);
voidmain()
{
intn;
coutpleaseinputanintnumbern=;
cinn;
coutn 反序输出 ;
f1(n);
coutendl;
coutn 正序输出 ;
f2(n);
coutendl;
}
voidf1(intn)
{
coutn%10;
if(n10)return;
elsef1(n/10);
}
voidf2(intn)
{
if(n10)
f2(n/10);
coutn%10;
return;
}----------------------------------------------------
1. 编写程序: 用“筛选法”求出 2~80 之间的所有素数,要求每行输出 4个素数。
编写程序如下:
【答案】 #includeiostream.h
#includeiomanip.h
voidmain()
{intprime[39];
for(inti=0,j=3;i39;i++,j+=2)prime[i]=j;
for(i=0;i39;i++)
if(prime[i])
for(j=i+1;j39;j++)
if(prime[j]prime[j]%prime[i]==0)prime[j]=0;
cout2~80 之间的素数: \n;
for(j=0,i=0;i39;i++)
if(prime[i])
{coutsetw(8)prime[i];j++;
if(j%4==0)
coutendl;}
}
2. 编写程序: 随机产生 10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行
升序排序。
编写程序如下:
【答案】 #includeiostream.h
#includeiomanip.h
#includestdlib.h
voidmain()
{inta[10],i,k;
unsignedseed;
cout 请输入一个随机数种子(无符号整数) =;
cinseed;
srand(seed);
cout 数组中的内容: ;
for(i=0;i10;i++)
{a[i]=rand()%900+100;
coutsetw(6)a[i];}
coutendl;
intj,temp;
cout 排序前: ;
for(i=0;i10;i++)coutsetw(6)a[i];
coutendl;
for(i=0;i9;i++)
{temp=a[i];k=i;
for(j=i+1;j10;j++)
if(tempa[j]){temp=a[j];k=j;}
if(k!=i){temp=a[i];a
您可能关注的文档
- 2019高中高中高考历史二轮练习中国近现代史检测试卷习题试卷试题a卷.doc
- 2019高中高中高考地理一轮专题导优选优选学案:世界地理含含含答案.doc
- 2019高中高中高考地理一轮专题导优选优选学案:中国地理5含含含答案.doc
- 2019高中高中高考地理一轮专题导优选优选学案:中国地理含含含答案.doc
- 2019高中高中高考地理一轮专题导优选优选学案:人口含含含答案.doc
- 2019高中高中高考地理一轮专题导优选优选学案:工业含含含答案.doc
- 2019高中高中高考地理精选提分试卷习题试卷试题练:小题大做练含含答案.doc
- 2019高中高考地理一轮专题导优选学案:世界地理含含答案.doc
- 2019高中高考地理一轮专题导优选学案:中国地理含含答案.doc
- 2019高中高考数学冲刺双一流大学第1招抽象问题有形化,破解抽象函数难题.doc
文档评论(0)