循环结构参考程序.pdf

上传人:PIYPING 文档编号:11497121 上传时间:2021-08-09 格式:PDF 页数:23 大小:813.98KB
返回 下载 相关 举报
循环结构参考程序.pdf_第1页
第1页 / 共23页
循环结构参考程序.pdf_第2页
第2页 / 共23页
循环结构参考程序.pdf_第3页
第3页 / 共23页
循环结构参考程序.pdf_第4页
第4页 / 共23页
循环结构参考程序.pdf_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《循环结构参考程序.pdf》由会员分享,可在线阅读,更多相关《循环结构参考程序.pdf(23页珍藏版)》请在三一文库上搜索。

1、1、编写一个程序,输入一个正整数N(N 大于等于 100 小于等于 999),求出100N 之间的 所有水仙花数。所谓的水仙花数是:如果一个三位数的个位数、 十位数、百位数的立方和 等于该数自身,就称这个数为水仙花数。 #include using namespace std; int main( ) 2、编写程序,从n 个整数中找到最小的数并输出。输入分2 行:第一行为n 的值,第二行 为 n 个整数。 #include int n,i,g,s,b; cinn; for(i=100;i=n;i+) return 0; g=i%10; s=i/10%10; b=i/100; if(g*g*g+

2、s*s*s+b*b*b=i) couti ; using namespace std; int main( ) 3、编写程序找出一个正整数n 的各位数字中最大的数字,n 由键盘输入。 #include using namespace std; int main( ) int n,max,t; int x,n,min,i; cinn; cinx; min=x; for(i=2;i=n;i+) coutx; if(xn; max=0; while(n0) coutmax) max=t; n/=10; 4、有一分数序列 #include using namespace std; int main(

3、) int i,n,p,q,temp; float s=0; cinn; p=2; q=1; ,计算该序列的前 n 项和,n 由键盘输入。 for(i=1;i=n;i+) couts; return 0; s+=1.0*p/q; temp=p+q; q=p; p=temp; 5、 编写程序求 a + aa + aaa + aaaa + aaaa (n 个 a) 之和, 其中 a 和 n 由键盘输入。 #include using namespace std; int main( ) int s,i,n,a,t; cinan; t=0; s=0; for(i=1;i=n;i+) t=t*10+a

4、; s+=t; couts; return 0; 6、已知,计算S 的值,直到某一项的绝对值小于e 为止(小 于 e 的这项不累加) ,e 由键盘输入。 #include using namespace std; int main( ) int n,f; double s,t,e; cine; s=0; n=1; f=1; t=1.0/n; while(t=e) s+=f*t; f=-f; n+=4; t=1.0/n; couts; return 0; 7、输入一行字符,以字符0 作为结束标志,输出这行字符对应的ASCII 码值之和。 #include using namespace std;

5、 int main( ) char a; int s=0; cina; while(a!=0) couta; 8、已知 键盘输入。 #include using namespace std; int main( ) double s,n,q; cinq; s=0; n=1; while(s=q) couts; return 0; s+=(n+1)/n; n+; ,计算该序列的前N 项和 SN,直到SN 大于 q 为止,q 由 9、一个百万富翁碰到一个陌生人,陌生人找他谈了一个换钱的计划.该计划如下:我每天给你 10 万,而你第一天给我一块钱,第二天我仍给你十万,你给我二块钱,第三天我仍给你十万

6、,你 给我四块钱.你每天给我的钱是前一天的两倍,直到满 n(0=n=30)天.百万富翁非常高兴, 欣然接受了这个契约.请编写一个程序,计算这 n 天中,陌生人给了富翁多少钱,富翁给了陌生 人多少钱. #include using namespace std; int main( ) 10、 求 1N 的阶乘之和S, #include using namespace std; int main( ) , N 由键盘输入, 注意:。 int n,i,s,t; cinn; s=0; t=1; for(i=1;i=n;i+) coutn*100000endl; coutsendl; return 0;

7、 s+=t; t=t*2; 11、已知 #include using namespace std; int main( ) double x,s,t; int i,n; cinnx; ,输入正整数 n 和任意数 x,计算 S。 double s,t; int i,n; cinn; s=0; t=1; for(i=1;i=n;i+) couts; return 0; t=t*i; s+=t; s=1; t=-1; for(i=1;i=n;i+) couts; return 0; t=t*(-1)*x/i; s+=t; #include using namespace std; int main(

8、 ) double x,s,p,q; int i,n,f; cinnx; s=1; f=-1; p=1; q=1; for(i=1;i=n;i+) couts; return 0; f=-f; p=p*x; q=q*i; s+=f*p/q; 12、输入两个正整数 a 和 b,求出其最大公约数和最小公倍数并输出。 #include using namespace std; int main( ) int a,b,gy,gb; cinab; gy=a; while(a%gy!=0|b%gy!=0) gy-; gb=a; while(gb%a!=0|gb%b!=0) gb+; coutgy gb;

9、return 0; #include using namespace std; int main( ) int a,b,gy,gb,i; cinab; for(i=1;i=a;i-) if(i%a=0 coutgy gb; return 0; #include using namespace std; int main( ) 13、编写程序求 m 到 n 之间(包括 m 和 n,m=n)素数的个数及其平均值,如果没有素 数则输出 no,m 和 n 由键盘输入。 #include using namespace std; int main( ) int a,b,r,ji; cinab; ji=a

10、*b; r=a%b; while(r!=0) coutb mn; for(i=m;i=n;i+) if(count=0) coutno; gs=0; for(j=1;j=i;j+) if(i%j=0) gs+; if(gs=2) count+; s+=i; else s/=count; coutcount s; return 0; 14、一个数恰好等于它的因子之和,这个数就称为“完数”。例如,6 的因子为 1、2、3,并 且 6=1+2+3,因此 6 是“完数”。编写程序找出小于给定数n 的所有“完数”,n 由键盘输入。 #include using namespace std; int ma

11、in( ) int n,i,j,s; cinn; for(i=1;in;i+) return 0; s=0; for(j=1;ji;j+) if(i%j=0) s+=j; if(s=i) couti ; 15、已知 S 的值。 #include using namespace std; int main( ) int i,j,n,count=0; float s=0; cinn; for(i=1;i=n;i+) coutsendl; return 0; count=0; for(j=1;j=i;j+) if(i%j=0) ,其中分母为n 以内(包括n)的素数,由键盘输入n 值,计算 count

12、+; if(count=2) s+=1.0/i; 16、一个正整数, 如果它能被 7 整除,或者它的某一位上的数字为7,则称其为与7 相关的 数。现求所有小于等于n 的与 7 无关的正整数的平方和。 #include using namespace std; int main( ) int n,i,t,s=0,flag; cinn; for(i=1;i0) if(flag=0) s+=i*i; if(t%10=7) flag=1; t/=10; couts; return 0; 17、一个正整数如果等于组成它的各位数字的阶乘之和,则该正整数称为阶乘和数。例如 正整数 145,1!+4!+5!等

13、于 145,因此 145 就是一个阶乘和数。输入一个正整数,计算它的 各位数字的阶乘之和,并判断它是否是一个阶乘和数。注意: 输入的正整数,以及组成它的 各位数字的阶乘之和都不会超过int 类型的表示范围,并且输入的正整数的最高位不为0。 #include using namespace std; int main( ) int n,s=0,t,i,jie,yuan; cinn; yuan=n; while(n!=0) t=n%10; jie=1; for(i=2;i=t;i+) jie*=i; s+=jie; n/=10; coutsendl; if(s=yuan) coutyes; els

14、e coutno; return 0; 18、 输入三位数字N, 求两位数AB (其中个位数字为B, 十位数字为A, 且有0 A B =9) 。 使得下列等式成立: AB x BA = N,其中 BA 是把 AB 中个、十位数字交换所得的两位数。编写程序,接收控制 台输入的三位整数 N,求解 A,B 并输出。如果没有解则输出no。 #include using namespace std; int main( ) int n,i,j,x,y,flag=0; cinn; for(i=1;i9;i+) for(j=i+1;j=9;j+) x=i*10+j; y=j*10+i; if(x*y=n)

15、coutijendl; flag=1; if(flag=0) coutno; return 0; 19、编写程序,从控制台读入一个分数的分子和分母(分数无符号,并且分子小于分母, 其大小不会超过 int 数据类型的表示范围) ,输出化简后分子和分母不含公约数的分数。 #include using namespace std; int main( ) int m,n,i; cinmn; i=m; while(m%i!=0|n%i!=0) i-; coutm/i n/i; return 0; #include using namespace std; int main( ) 20、一个正整数有可能

16、可以被表示为n(n=2)个连续正整数之和,如: int m,n,i; cinmn; for(i=2;i=m;i+) if(m%i=0 n/=i; i=1; coutm n; return 0; 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。 #include using namespace std; int main( ) int n,i,j,k,s,count; cinn; for(i=1;i=n/2;i+) s=i; j=i+1; while(sn) if(s=n) count+; s+=j; j+; for(k=i;kj;k+) coutk ; coutendl; if(count=0) coutnone; return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1