循环结构参考程序.docx
- 文档编号:10897209
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:20
- 大小:40.89KB
循环结构参考程序.docx
《循环结构参考程序.docx》由会员分享,可在线阅读,更多相关《循环结构参考程序.docx(20页珍藏版)》请在冰豆网上搜索。
循环结构参考程序
1、编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。
所谓的水仙花数是:
如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。
#include
usingnamespacestd;
intmain()
{
intn,i,g,s,b;
cin>>n;
for(i=100;i<=n;i++)
{
g=i%10;
s=i/10%10;
b=i/100;
if(g*g*g+s*s*s+b*b*b==i)
cout<
}
return0;
}
2、编写程序,从n个整数中找到最小的数并输出。
输入分2行:
第一行为n的值,第二行为n个整数。
#include
usingnamespacestd;
intmain()
{
intx,n,min,i;
cin>>n;
cin>>x;
min=x;
for(i=2;i<=n;i++)
{
cin>>x;
if(x min=x; } cout< return0; } 3、编写程序找出一个正整数n的各位数字中最大的数字,n由键盘输入。 #include usingnamespacestd; intmain() { intn,max,t; cin>>n; max=0; while(n>0) { t=n%10; if(t>max) max=t; n/=10; } cout< return0; } 4、有一分数序列 ,计算该序列的前n项和,n由键盘输入。 #include usingnamespacestd; intmain() { inti,n,p,q,temp; floats=0; cin>>n; p=2; q=1; for(i=1;i<=n;i++) { s+=1.0*p/q; temp=p+q; q=p; p=temp; } cout< return0; } 5、编写程序求a+aa+aaa+aaaa+…+aaa…a(n个a)之和,其中a和n由键盘输入。 #include usingnamespacestd; intmain() { ints,i,n,a,t; cin>>a>>n; t=0; s=0; for(i=1;i<=n;i++) { t=t*10+a; s+=t; } cout< return0; } 6、已知 ,计算S的值,直到某一项的绝对值小于e为止(小于e的这项不累加),e由键盘输入。 #include usingnamespacestd; intmain() { intn,f; doubles,t,e; cin>>e; s=0; n=1; f=1; t=1.0/n; while(t>=e) { s+=f*t; f=-f; n+=4; t=1.0/n; } cout< return0; } 7、输入一行字符,以字符0作为结束标志,输出这行字符对应的ASCII码值之和。 #include usingnamespacestd; intmain() { chara; ints=0; cin>>a; while(a! ='0') { s+=a; cin>>a; } cout< return0; } 8、已知 ,计算该序列的前N项和SN,直到SN大于q为止,q由键盘输入。 #include usingnamespacestd; intmain() { doubles,n,q; cin>>q; s=0; n=1; while(s<=q) { s+=(n+1)/n; n++; } cout< return0; } 9、一个百万富翁碰到一个陌生人,陌生人找他谈了一个换钱的计划.该计划如下: 我每天给你10万,而你第一天给我一块钱,第二天我仍给你十万,你给我二块钱,第三天我仍给你十万,你给我四块钱......你每天给我的钱是前一天的两倍,直到满n(0<=n<=30)天.百万富翁非常高兴,欣然接受了这个契约.请编写一个程序,计算这n天中,陌生人给了富翁多少钱,富翁给了陌生人多少钱. #include usingnamespacestd; intmain() { intn,i,s,t; cin>>n; s=0; t=1; for(i=1;i<=n;i++) { s+=t; t=t*2; } cout< cout< return0; } 10、求1~N的阶乘之和S, ,N由键盘输入,注意: 。 #include usingnamespacestd; intmain() { doubles,t; inti,n; cin>>n; s=0; t=1; for(i=1;i<=n;i++) { t=t*i; s+=t; } cout< return0; } 11、已知 ,输入正整数n和任意数x,计算S。 #include usingnamespacestd; intmain() { doublex,s,t; inti,n; cin>>n>>x; s=1; t=-1; for(i=1;i<=n;i++) { t=t*(-1)*x/i; s+=t; } cout< return0; } #include usingnamespacestd; intmain() { doublex,s,p,q; inti,n,f; cin>>n>>x; s=1; f=-1; p=1; q=1; for(i=1;i<=n;i++) { f=-f; p=p*x; q=q*i; s+=f*p/q; } cout< return0; } 12、输入两个正整数a和b,求出其最大公约数和最小公倍数并输出。 #include usingnamespacestd; intmain() { inta,b,gy,gb; cin>>a>>b; gy=a; while(a%gy! =0||b%gy! =0) gy--; gb=a; while(gb%a! =0||gb%b! =0) gb++; cout< return0; } #include usingnamespacestd; intmain() { inta,b,gy,gb,i; cin>>a>>b; for(i=1;i<=a;i++) if(a%i==0&&b%i==0) gy=i; for(i=a*b;i>=a;i--) if(i%a==0&&i%b==0) gb=i; cout< return0; } #include usingnamespacestd; intmain() { inta,b,r,ji; cin>>a>>b; ji=a*b; r=a%b; while(r! =0) { a=b; b=r; r=a%b; } cout< return0; } 13、编写程序求m到n之间(包括m和n,m<=n)素数的个数及其平均值,如果没有素数则输出no,m和n由键盘输入。 #include usingnamespacestd; intmain() { intm,n,i,j,gs,count=0; doubles=0; cin>>m>>n; for(i=m;i<=n;i++) { gs=0; for(j=1;j<=i;j++) if(i%j==0) gs++; if(gs==2) { count++; s+=i; } } if(count==0) cout<<"no"; else { s/=count; cout< } return0; } 14、一个数恰好等于它的因子之和,这个数就称为“完数”。 例如,6的因子为1、2、3,并且6=1+2+3,因此6是“完数”。 编写程序找出小于给定数n的所有“完数”,n由键盘输入。 #include usingnamespacestd; intmain() { intn,i,j,s; cin>>n; for(i=1;i { s=0; for(j=1;j if(i%j==0) s+=j; if(s==i) cout< } return0; } 15、已知 ,其中分母为n以内(包括n)的素数,由键盘输入n值,计算S的值。 #include usingnamespacestd; intmain() { inti,j,n,count=0; floats=0; cin>>n; for(i=1;i<=n;i++) { count=0; for(j=1;j<=i;j++) if(i%j==0) count++; if(count==2) s+=1.0/i; } cout< return0; } 16、一个正整数,如果它能被7整除,或者它的某一位上的数字为7,则称其为与7相关的数。 现求所有小于等于n的与7无关的正整数的平方和。 #include usingnamespacestd; intmain() { intn,i,t,s=0,flag; cin>>n; for(i=1;i<=n;i++) { if(i%7! =0) { t=i; flag=0; while(t>0) { if(t%10==7) flag=1; t/=10; } if(flag==0) s+=i*i; } } cout< return0; } 17、一个正整数如果等于组成它的各位数字的阶乘之和,则该正整数称为阶乘和数。 例如正整数145,1! +4! +5! 等于145,因此145就是一个阶乘和数。 输入一个正整数,计算它的各位数字的阶乘之和,并判断它是否是一个阶乘和数。 注意: 输入的正整数,以及组成它的各位数字的阶乘之和都不会超过int类型的表示范围,并且输入的正整数的最高位不为0。 #include usingnamespacestd; intmain() { intn,s=0,t,i,jie,yuan; cin>>n; yuan=n; while(n! =0) { t=n%10; jie=1; for(i=2;i<=t;i++) jie*=i; s+=jie; n/=10; } cout< if(s==yuan) cout<<"yes"; else cout<<"no"; return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 参考 程序