《C语言习题课(循环)课件》由会员分享,可在线阅读,更多相关《C语言习题课(循环)课件(19页珍藏版)》请在金锄头文库上搜索。
1、习 题 课(循环),1、以下循环体的执行次数是A) 3 B) 2 C) 1 D) 0main() int i,j;for(i=0,j=1; i=j+1; i+=2, j-) printf(“%d n”,i);,2、有如下程序main( ) int i,sum;for(i=1;i=3;sum+) sum+=i;printf(“%dn”,sum);该程序的执行结果是A) 6 B) 3 C) 死循环 D) 0,3、有如下程序 main() int x=23; do printf(%d,x-); while(!x); 该程序的执行结果是A) 321 B) 23 C) 2322 D) 陷入死循环,4、执
2、行下面的程序后,a的值为:( ) main() int a,b; for (a=1,b=1;a=20)break; if(b%3=1) b+=3; continue; b-=5; A)7 B)8 C)9 D)10,5、设有以下程序:main( ) int n1,n2; scanf(“%d”, 程序运行后,如果从键盘上输入1298;则输出结果为?,8921,6、定义如下变量: int n=10; 则下列循环的输出结果是 while(n7) n-; printf(%dn,n); A) 10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 6,7、以下程序段的输出结果是( ) int
3、x=3; do printf(%3d,x-=2); while(!(-x); A) 1 B) 3 0 C) 1 -2 D)死循环,main() float s=0,t=1; int n; for(n=1;n=20;n+) t=t*n; /*求N的阶乘*/ s=s+t; /*将各项累加*/ printf(1!+2!+3!.+20!=%en,s); ,1、求 n!(即求1!+2!+3!+ +20!),20 n=1,2、输入两个正整数x和y,求他们的最大公约数和最小公倍数。,main( ) int x,y,temp,i; int max; scanf(%d,%d, ,3、一球从10m高度自由落下,每
4、次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?,main() float sum=10,f=5; int i; for(i=2;i=10;i+) sum=sum+f*2; f=f/2; printf(“sum=%fn,sum); printf(“ft=%fn,f); ,main() int day,qian,hou=1; for(day=9;day=1;day-) qian=(hou+1)*2; hou=qian; printf(%dn,qian); ,4、猴子吃桃问题。猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天又将剩下的桃子吃了一半,又多吃
5、一个。以后每天都吃了前一天剩下的一半零一个。到了第10天,只剩下一个桃子了。求第一天共摘了多少个桃子?,5、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序找出1000以内的所有“完数”。,main() int num,j,sum; for(num=2;num=1000;num+) sum=0; for(j=1;jnum;j+) if(num%j=0) sum=sum+j; if(num=sum) printf(%dn,num); ,6、输出以下图案: * * * * * * * * * * * * * * * * *
6、* * * * * * * *,main() int i,j,k; for(i=0;i=3;i+) for(j=0;j=2-i;j+) printf( ); for(k=0;k=2*i;k+) printf(*); printf(n); for(i=0;i=2;i+) for(j=0;j=i;j+) printf( ); for(k=0;k=4-2*i;k+) printf(*); printf(n); ,7、两个乒乓球队进行比赛,各出三人。甲队为A,B,C三人,乙队为X,Y,Z三人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比。请编程序找出三对赛手的名单。,1、X不与A和C比赛,必然与B比赛。 2、 C不与X和Z比赛,必然与Y比赛。 3、A只能与Z比赛。,main() char i,j,k; for(i=X;i=Z;i+) for(j=X;j=Z;j+) if(i!=j) for(k=X;k=Z;k+) if(i!=k ,