第33、34 课时 for 循环的嵌套 实验题一: 1、下面程序的功能是计算:至 50 中是 7 的倍数的数值之和,请选择填空。D #include main() {int i,sum= 0; for(i=1;i<=50;i++) if([1]) sum+=i; printf("%d",sum); } A) (int)(i/7)==i/7 B) (int)i/7==i/7 C) i%7= 0 D) i%7==0 2、下面程序的功能是计算 1 至 10 之间的奇数之和及偶数之和。请选择填空; # include B main() {int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2) { a+=i; [1]; c+=b; } printf("偶数之和=%d\n",a); printf("奇数之和=%d\n",c-11), } [1] A )b=i-- B) b=i+1 C) b=i++ D)b=i-1 3、下面程序的运行结果是: #include main() {int i; #& for(i=1;i<=5;i++) & switch(i%5) &* {case 0:printf("* ");break; case 1 :printf("#");break; default :printf("\n"); case 2 :printf("&"); } A)#&&&* B) #& C) # D)#& & & & & * 4、下面程序的运行结果是:D #include main() { int x,i; for(i=1;i<=100;i++) {x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf("%d",x); } } A)39 81 B)42 84 C)26 68 D) 28 70 5、下面程序段的功能是计算 1000!的末尾含有多少个零。请选择填空。 (提示:只要算出 1000!中含有因数 5 的个数即可 for(k=0,i=5;i<=1000; i+=5) while(【1】){k++; m=m/5;} 【1】A)m%5==0 B)m=m%5==0 C)m%5==0 D)m%5!=0 6、下面程序的运行结果是: #include main() {int i,b,k=0; for(i=1;i< =5;i++) {b=i%2; while(b-->=0) k++; } printf("%d,%d",k,b); } A)3,-1 B )8,-1 C)3,0 D)8,-2 实验题二: 编程题: 1、编写程序,输入从公元 1000 年至 2000 年所有闰年的年号。每输出 3 个年号换一行。判断公元年是否为闰年的条件是: (1) 公元年数如能被 4 整除,而不能被 100 整除,则是闰年; (2) 公元年数能被 400 整除也是闰年。 #include main() { int i,j=0; for(i=2000;i<=3000;i++) { if((i%4==0&&i%100!=0)||i%400==0) { printf("%d\t",i); j++; if(j%10==0) printf("\n"); } } } 2、使用嵌套的循环结构在屏幕上打印下面的图形。 **************** * * * * * * * * **************** 方法一: main() { int i,j,k; for(i=0;i<15;i++) printf("*"); printf("\n"); for(j=0;j<4;j++) printf("* *\n"); for(k=0;k<15;k++) printf("*"); getch(); } 方 法 二: main() { int i,m,j; for(i=1;i<=6;i++) { if(i==1||i==6) { for(j=1;j<=16;j++) printf("*"); printf("\n"); } else for(m=1;m<=16;m++) { if(m==1) printf("*"); if(m==16) printf("*\n"); else printf(" "); } } }