C++编程题目算法大全..doc

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C编程题目算法大全.

曾经在软通动力写过的算法题其中有一小部分是参考网上的资料,现在拿出来给大家分享! 第3章 控制语句 /* 1、打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153 = 13 + 53 + 33。 */ #includeiostream.h void main() { int i, a=0, b=0, c=0; for(i=100;i1000;i++) { a=i%10; b=i/10%10; c=i/100%10; if(a*a*a+b*b*b+c*c*c==i) couti=iendl; } } /* 2、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6 = 1 + 2 + 3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面的格式输出其因子: 6 -〉1,2,3 */ #includeiostream.h void main() { int i,j,sum=0,a[50],k,t; for(i=1;i=1000;i++) { sum=0; for(j=1;ji;j++) { if(i%j==0) { sum+=j; a[k++]=j; } } t=k; if(sum==i) { couti-; for(k=0;kt;k++) { couta[k]; if(kt-1)cout,; } coutendl; } ??? k=0; } } /* 3、求Sn=a+aa+aaa+…+aa…a之值,其中a是一个数字。例如:2+22+222+…+22222(此时n=5),n由键盘输入。*/ #includeiostream.h void main() { double a,sn=0.0,sum=0.0; int n,i; coutplease input a number; cina; ??? coutplease input n number; cinn; sn=a; sum=a; ??? for(i=2;i=n;i++) ??? { sum=sum*10+a; sn+=sum; ??? } coutSn=snendl; } /* 4、一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过了多少米?第10次反弹多高?*/ #includeiostream.h void main() { double h1=100,h2=100,sum=0.0; int i; for(i=1;i=10;i++) { sum+=h2; h1=h1/2.0; h2=h1*2; } coutsum=sum?? h1=h1endl; } /* 5、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。*/ #includeiostream.h void main() { int number,i; number=1; for(i=10;i1;i--) number=(number+1)*2; coutnumber=numberendl; } 8.++程序中使用流格式输入、输出,我们可以怎么做? 答:在程序的开头包含头文件iostream.h ???? cin输入,cout输出。 例如: #includeiostream.h void main() { ?? int a; ?? cout请输入a的值:; ?? cina; ?? couta的值为:aendl; } 第4章 函数 /* 1、写一函数用“气泡法”对输入的10个字符按由小到大的顺序排列。*/ #includeiostream.h void main() { int i,j,temp,a[10]; coutplease input ten numbers:\n; for(i=0;i10;i++) cina[i]; for(i=0;i10;i++) //每循环一次确定数组中一个数的位置 for(j=i+1;j10;j++) //每次循环对比一个数的大小 { if(a[i]a[j]) { temp=a[j]; a[j]=a[i]; a[i]=temp; } } coutresort result=; for(i

文档评论(0)

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

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

1亿VIP精品文档

相关文档