第五章:循环结构_第1页
第五章:循环结构_第2页
第五章:循环结构_第3页
第五章:循环结构_第4页
第五章:循环结构_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单循环:1、 输出11000;(1,2,3,4,5,998,999,1000)2、 求1+2+100之和。3、 求 1到 100之间的奇数之和、偶数之和。4、 求 Sna+aa+aaa+.+aa.a之值,其中 a是一个数字。 例如 2+ 22 +222+2222( 此时n4),n由键盘输入。5、 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数, 其各位数字立方和等于该数本身。例如 153是一个水仙花数,因为 153。6、 3025这个数具有一种独特的性质:将它平分为两段,即30和25,使之相加后求平方,即(30+25),恰好等于3025本身。请求出具有这样性质的全部四位数。7、 任意

2、十个数,打印出它们中的最大数、最小数。8、 一个数恰好等于它的平方数的右端,这个数称为同构数。如5的平方是25,5是25中的右端的数,5就是同构数。找出11000之间的全部同构数。9、 打印出一个任意整数的所有因数。10、 输入两个正整数 m和 n,求其最大公约数和最小公倍数。 提示:求 m,n的最大公约数:首先将m除以 n(m>n)得余数 R,再用余数 R 去除原来的除数(m=n,n=r,原除数变为被除数,余数变为除数),得新的余数,重复此过程直到余数为 0 时停止,此时的除数就是m 和 n的最大公约数。求 m和 n的最小公倍数: m和 n的积除以 m和 n 的最大公约数。11、 有一

3、个分数序列:2/1,3/2,5/3,8/5,13/8,21/13,求出这个数列的前20项之和。12、 有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。13、 使用下面的格式打印出所有大小写字母的ASCII码,每行打印五个(要求使用一次循环):14、 输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。双重循环、多重循环15、 打印九九乘法表。16、 打印出下图所示图形(最宽行*的个数由用户输入):17、 打印出下图所示图形: 18、 用三重循环打印出所有水仙花数(

4、如153)19、 公元钱五世纪,我国古代数学家张丘建在算经一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?20、 求满足后面式子的X、Y、Z的值:XYZ+YZZ=532。21、 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6 的因子为1、2、3,而6=1+2+3,因此6 是“完数”。编程序找出1000之内的所有完数。 22、 求500以内的所有亲密数对。若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。23、 求(即求1!+2!+3!+.+20!) 。24、 两个乒乓

5、球队进行比赛,各出3人。甲队为A,B,C等3人,乙队为X,Y,Z等3人。已经抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程找出3对比赛选手的名单。25、 判断101-200之间有多少个素数,并输出所有素数。循环练习:26、 用1到9组成3个3位数,且三者之比为1:2:3(稍有难度)。27、 一个四位数,前两位相同,后两位相同,并且该四位数是一个整数的平方,编程找出这个四位数。28、 个位数为6且能被3整除的五位数共有多少?29、 求100到1000之间有多少个其数字之和为5的整数。30、 设N是一个四位数,它的9倍恰好是其反序数,求N。反序数就是将整数的

6、数字倒过来形成的整数。31、 问555555的约数中最大的三位数是多少?32、 打印如下图所示数字图形: 33、 在下面式子中的二个内填入一个同样的数字,使等式成立。3*6528=3*825634、 A、B两个自然数的和、差、积、商四个数加起来等于243,求A、B两数。35、 有三种明信片:第一种每套一张,售价2元;第二种每套一张,售价4元; 第三种每套9张,售价2元。现用100元钱要买100张明信片,要求每种明信片至少要买一套,问三种明信片应各买几套?请输出全部购买方案。(14,14,8 31,6,7)36、 输入十个裁判的打分,去掉一个最高分,去掉一个最低分,求最终平均分。37、 有人想将

7、手中一张面值100元的人民币换成5元、1元、0.5元面值的零钱100张,以上三种面值的零钱至少有一张,问共有几种换法。38、 用近似公式求自然对数的底e的值。39、 写一程序,要求用户在键盘上输入一个整数,并把每位数字转换为英文。例如:输入1024时,输出One Zero Two Four。40、 韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1到5报,最末一个士兵报的数为1;按从1到6报,最后一个士兵报的数为5,按从1到7报,最末一个士兵报的数为4;最后在按从1到11报,最末一个士兵报的数为10.你知道韩信至少有多少兵吗?41、 一个正整数有可能可以被表示为 n(n>=2) 个

8、连续正整数之和,如:15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。未找到序列数,输出NONE42、 父亲对儿子说:“做对一道题给8分,做错一道题扣5分。”做完26题后,儿子得0分,问儿子做对了几题?43、 在爱尔兰守神节那天,举行每年一度的庆祝游戏,指挥者若将乐队排成10人、9人、8人、7人、6人、5人、4人、3人和2人时,最后的一排总是缺少一个人,那些人想这个位置大概是给数月前死去的乐队成员凯西还留着位置。指挥者见到总缺一人恼火了,叫大家排成一列纵队前进。假定人数不超过7000人,那么乐队究竟有多少人?4

9、4、 输入任一自然数,求其反序数及其位数,并输出。45、 输出下面的图形: 46、 输出下面的数字图形(拉丁方阵): 47、 编程输出1-10000以内所有的回文数,并统计个数。48、 今年父亲30岁,儿子6岁,问多少年以后父亲的年龄正好是儿子的2倍?49、 (1)编程计算1-2+3-4+9999-10000的结果。(2)编程计算1+4+9+16+25+10000的结果。50、 任何一个自然数m的立方均可写成m个连续奇数之和。例如: 13=123=3+533=7+9+1143=13+15+17+19 编程实现:输入一自然数n,求组成n3的n个连续奇数。 51、 马克思在数学手稿中提出如下问题:

10、有30个人(包括男人、女人和小孩)在一家饭店吃饭共花50先令,其中每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人、女人、小孩各有多少人?52、 打印蛇形数字图形: 53、 打印下面的“回形”数字图形: 54、 打印字母金字塔: 55、第3题:main() long int s=0,i=1,n,x,y; printf("n="); scanf("%ld",&n); printf("x="); scanf("%ld",&x); y=x; while(i<=n) s=s+x; if(i

11、=n) printf("%ld",x); else printf("%ld+",x); x=x*10+y; i+; printf("=%ld",s); getch();第7题:int main(void) int min=0,max=0,i=1,x=0; printf("No. %d:",i); scanf("%d",&x); min=max=x; i+; while(i<=10) printf("No. %d:",i); scanf("%d"

12、;,&x); if(min<x) min=x; if(max>x) max=x; i+; printf("max=%dn",max); printf("min=%d",min); getch(); return 0;第10题方法一:main() int m,n,x,y,r,s; printf("m="); scanf("%d",&m); x=m; printf("n="); scanf("%d",&n); y=n; r=m%n; while

13、(r!=0) m=n; n=r; r=m%n; printf("yue shu=%dn",n); s=x*y/n; printf("bei shu=%dn",s); getch();方法二:main() int m,n,i,xiao,da,x; scanf("%d",&m); scanf("%d",&n); if(m<n) xiao=m;da=n; else xiao=n;da=m; for(i=xiao;i>=1;i-) if(n%i=0&&m%i=0) printf(

14、"zui da gong yue shu:%dn",i); break; for(i=da;i<=m*n;i+=da) if(i%m=0&&i%n=0) printf("zui xiao gong bei shu:%dn",i); break; getch();第13题:main() char i; int j; for(i='A',j=1;i<='z'i+,j+) if(i>'Z'&&i<'a') continue; if(i=

15、9;a') printf("nn"); j=1; if(j%5=0) printf("'%c'=%3dn",i,i); else printf("'%c'=%3d ",i,i); getch();第14题main() int letters,spaces,digits,others; char c; letters=spaces=digits=others=0; while(c=getchar()!='n') if(c>='a'&&c<

16、='z'|c>='A'&&c<='Z') letters+; else if(c=' ') spaces+; else if(c>='0'&&c<='9') digits+; else others+; printf("letters=%d,spaces=%d,ditits=%d,others=%d",letters,spaces,digits,others); getch();第16题main() int i,j,n; p

17、rintf("n="); scanf("%d",&n); for(j=-n+1;j<=n-1;j+) for(i=1;i<=n-abs(j);i+) printf("*"); printf("n"); getch();第17题:(图一)main() int i,j,k,n; scanf("%d",&n); for(j=-n+1;j<=n;j+=2) for(k=1;k<=abs(j)/2;k+) printf(" "); for(i=1

18、;i<=n-abs(j);i+) printf("*"); printf("n"); getch();(图二)main() int i,j,k,n; scanf("%d",&n); for(j=-n+1;j<=n;j+=2) for(k=1;k<=abs(j)/2;k+) printf(" "); for(i=1;i<=n-abs(j);i+) if(i=1|i=n-abs(j) printf("*"); else printf(" "); p

19、rintf("n"); getch();第18题:main() int i,j,k,n; for(i=0;i<=9;i+) for(j=0;j<=9;j+) for(k=0;k<=9;k+) if(i*i*i+j*j*j+k*k*k=i*100+j*10+k&&i*100+j*10+k>99) printf("%d%d%dn",i,j,k) ; getch();第19题:main() int i,j,k; for(i=1;i<=25;i+) for(j=1;j<=33;j+) k=100-i-j; if

20、(i*5+j*3+k/3=100&&k%3=0) printf("%d,%d,%dn",i,j,k); getch();第24题:main() char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/ for(i='x'i<='z'i+) for(j='x'j<='z'j+) if(i!=j) for(k='x'k<='z'k+) if(i!=k&&j!=k) if(i!='x'&&k

21、!='x'&&k!='z') printf("order is a->%ctb->%ctc->%cn",i,j,k); getch();第26题:main() int i,j,k,x1,x2,x3,t1,t2,t3,s1,s2,s3; for(x1=123;x1<333;x1+) i=x1%10; j=x1/10%10; k=x1/100; if(i-j)*(j-k)*(i-k)!=0&&i!=0&&j!=0&&k!=0) x2=2*x1; x3=3*x1

22、; t1=x2%10; if(t1=i|t1=j|t1=k|t1=0) continue; t2=x2/10%10; if(t2=i|t2=j|t2=k|t2=0) continue; t3=x2/100; if(t3=i|t3=j|t3=k|t3=0) continue; s1=x3%10; if(s1=i|s1=j|s1=k|s1=t1|s1=t2|s1=t3|s1=0) continue; s2=x3/10%10; if(s2=i|s2=j|s2=k|s2=t1|s2=t2|s2=t3|s2=0) continue; s3=x3/100; if(x3=i|x3=j|x3=k|s3=t1|

23、s3=t2|s3=t3|s2=0) continue; if(t1-t2)*(t1-t3)*(t2-t3)!=0&&(s1-s2)*(s1-s3)*(s2-s3)!=0) printf("%d,%d,%dn",x1,x2,x3); getch();方法二:int a9;ok(int t,int *z) int *p1,*p2; for(p1=z;p1<z+3;p1+) *p1=t%10; t/=10; for(p2=a;p2<p1;p2+) if(*p1=0|*p2=*p1) return 0; return 1;void main() int

24、m,count=0; for(m=123;m<=333;m+) if(ok(m,a)&&ok(2*m,a+3)&&ok(3*m,a+6) printf("No.%d: %d %d %dn",+count,m,2*m,3*m); getch();第32题:#include "math.h"int main(void) int i,j,count=0; for(i=-9;i<9;i+) for(j=1;j<=9-abs(i);j+) printf("%-2d ",+count); if(i

25、>=0) count=count-j*2+3; printf("n"); getch();int main(void) int i,j=1,count=0; for(i=-9;i<9;i+) printf("%*c",abs(i*2)+1,' '); for(j=1;j<=9-abs(i);j+) printf("%3d ",+count); if(i>=0) count=count-j*2+3; printf("n"); getch(); return 0;第39题:方法一

26、:(缺点:只能固定N的值小于5位数)main() /* i:n的位数 j:循环变量 d:取出N中的每一位数(从高位开始)*/ int n,i,j,d,s; printf("n="); scanf("%d",&n); if(n>=10000) i=5;s=10000; else if(n>=1000) i=4;s=1000; else if(n>=100) i=3;s=100; else if(n>=10) i=2;s=10; else i=1;s=1; for(j=1;j<=i;j+) d=n/s; n=n%s; s

27、=s/10; switch(d) case 0: printf("ZERO "); break; case 1: printf("One "); break; case 2: printf("two "); break; case 3: printf("three "); break; case 4: printf("four "); break; case 5: printf("five "); break; case 6: printf("six ")

28、; break; case 7: printf("seven "); break; case 8: printf("eight "); break; case 9: printf("nine"); break; getch();方法二:(任意位数)int main(void) long int n,g,s=0,w1=0,w2=0,s2,i; scanf("%ld",&n); while(n!=0) g=n%10; n=n/10; s=s*10+g; w1+; s2=s; while(s2!=0) s2=s2

29、/10; w2+; while(s!=0) g=s%10; s=s/10; switch(g) case 1: printf("One "); break; case 2: printf("Two "); break; case 3: printf("Three "); break; case 4: printf("Four "); break; case 5: printf("Five "); break; case 6: printf("Six "); break; ca

30、se 7: printf("Seven "); break; case 8: printf("Eight "); break; case 9: printf("Nine "); break; case 0: printf("Zero "); break; default: printf("WRONG"); break; for(i=1;i<=(w1-w2);i+) printf("Zero "); getch(); return 0;第41题:int main(void

31、) int i,j,k,n,s=0,flag=0; printf("n="); scanf("%d",&n); for(i=1;i<=n/2;i+) s=0; for(j=i;j<n;j+) s+=j; if(s=n) for(k=i;k<=j;k+) printf("%d ",k); printf("n"); flag=1; break; if(s>n) break; if(flag=0) printf("NONE"); getch();第44题int main

32、(void) long int n,fan=0,wei=0,x; scanf("%ld",&n); do x=n%10; fan=fan*10+x; n=n/10; wei+; while(n!=0); printf("fan=%ld,wei shu=%ld",fan,wei); getch();第45题:(图一)main() int i,j,n; scanf("%d",&n); for(i=1;i<=n;i+) for(j=i;j<=n;j+) printf(" "); for(j=1

33、;j<=2*i-1;j+) printf("%c",i+A-1); printf("n"); getch();(第三个图)main(void) int i,j,n; scanf("%d",&n); printf("n"); for(i=1;i<=n;i+) printf(" "); for(j=n-i;j>=1;j-) printf(" "); for(j=1;j<=2*i-1;j+) printf("*"); for(j=

34、(n-i)*2;j>=1;j-) printf(" "); for(j=1;j<=2*i-1;j+) printf("*"); printf("n"); getch();第46题int main(void) int i,j,n; printf("n n="); scanf("%d",&n); for(i=1;i<=n;i+) for(j=i;j<i+n;j+) printf(" %d",j%n=0?n:j%n); printf("n&

35、quot;); getch();第47题:main() long int i,n,yu,s,sum=0; for(i=0;i<=10000;i+) n=i; s=0; while(n!=0) yu=n%10; n=n/10; s=s*10+yu; if(i=s) printf("%ld ",s); sum+; printf("nsum=%ld",sum); getch();第50题:int main(void) int m,mid,fst,i; scanf("%d",&m); mid=m*m; if(m%2=1) fst

36、=mid-(m/2)*2; else fst=mid-m+1; printf("%d3=",m); for(i=0;i<m;i+) printf("%d ",fst+i*2); getch(); return 0;第52题:int main(void) int i,j,n,x; printf("n n="); scanf("%d",&n); x=-n+1; for(i=1;i<=n;i+) if(i%2=0) x+=n; for(j=1;j<=n;j+) printf("%3d",-x); else x+=n; for(j=1;j<=n;j+) printf("%3d",x+); printf("

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论