第3章 程序控制结构
1.1 选择结构部分
一、选择题
1 B 17 C 2 A 18 C 3 D 19 B 4 B 20 D 5 D 21 B 6 D 22 B 7 A 23 C 8 D 24 A 9 C 25 D 10 C 26 D 11 D 27 A 12 B 28 A 13 A 29 C 14 D 30 C 15 A 31 C 16 A 32 D 二、填空题 1. OK!
NO! ERROR! 2. x=1 y=0
x=2
3. ch>=’A’&& c<=’Z’ ch=ch-32 4. -1 5. x=6 6. (1)2
(2)3
CC
a=2,b=2,c=4 7. (1)a
(2)a>c&&b>c (3)a 三、程序设计题 1. #include #define pi 3.14159 main( ) { int k; float r,c,a; printf(“input r,k\\n”); scanf(“%f%d”,&r,&k); switch(k) { case 1: a=pi*r*r; printf(“area=%f\\n”,a);break; case 2: c=2*pi*r;printf(“circle=%f\\n”,c);break; cese 3: a=pi*r*r;c=2*pi*r;printf(“area=%f circle=%f\\n”,a,c);break; } } 2. main( ) { int year,leap; scanf(“%d”,&year); if(year%4==0) { if(year0==0) { if(year@0==0) leap=1; else leap=0; } else leap=1; } else leap=0; if(leap) printf(“%d is ”,year); else printf(“%d is not ”,year); printf(“ a leap year\\n”); } 3. #include main() { float x,y; scanf(“%f”,&x); if(x<0) y=x*x; else if(x>=0&&x<10) y=-0.5*x+10; else y=x-sqrt(x); printf(“y=%f”,y); } 1.2 循环结构部分 一、选择题 1 A 16 A 2 C 17 B 3 C 18 D 4 C 19 B 5 B 20 D 6 D 21 D 7 D 22 C 8 A 23 A 9 C 24 B 10 B 25 D 11 A 26 B 12 B 27 C 13 A 28 B 14 B 29 A 15 A 30 C 二、填空题 1. (1)先判断条件是否成立(为真),若成立(为真)再执行循环语句 (2)先执行循环语句,再判断条件是否成立(为真),若成立则继续执行循环,若不成立,则结束循环。do-while至少执行一次循环语句 2. (1)switch-case语句 (2)循环 3. 结束本次循环执行 4. (1)结束本次循环,后进行循环的条件判定,即不终止整个循环的执行过程 (2)终止整个循环的执行,不再进行条件判定 5. 8.18或19 6. ##2##4 7. 54321 8. k<=n 9. ACE 三、程序分析题 1. 1,2,3 2. 3,3 3. 52 4. 7891 5. s=6 6. 6 7. * ** *** **** 8. ****** * * * * ****** 9. 1 1 四、程序设计题 1. #include main( ) { int n=1,m=0,k,mod_mn=1; printf(“Please Input m value:\\n”); scanf(“%d”,&m); n=1; for(k=0;;k++) { mod_mn=m/(n*10); printf(“%d”,(m-mod_mn*n*10)/n); if(mod_mn==0) break; n*=10; } } 2. #include main( ) { int l,m,n,answer_flag=0; n=1; printf(“Big Rooster,Hen,Chickabiddy\\n”); for(l=0;l<=20;l++) for(m=0;m<=(100-l*5)/3;m++) { n=(100-l*5-m*3)*3; if(l*m*n>0&&l+m+n==100&&(l*5+m*3+n/3)==100) { printf(“%-4d%-4d%-4d\\n”,l,m,n); answer_flag=1; } } if(answer_flag==0) printf(“Not Answer”); } 程序运行结果: Big Rooster,Hen,Chickabiddy 4 18 78 8 11 81 12 4 84 3. #include #include int k,l,m,n=0; printf(“Please Input n:\\n”); for(m=101;m<=200;m+=2) { if(n==0) printf(“\\n”); k=sqrt(m); for(l=2;l<=k;l++) if(m%l==0) break; if(l>=k+1) {printf(“%d”,m); n++; } } } 4. #include main( ) { int l,m,n,answer_flag=0; n=1; printf(“\\n1Cent Coin,2Cent Coin,5Cent Coin\\n”); for(l=0;l<=100;l++) for(m=0;m<=(100-l)/2;m++) { n=(100-l-m*2)/5; if(l+m*2+n*5==100) { printf(“%-4d%-4d%-4d\\n”,l,m,n); answer_flag+=1; } } if(answer_flag==0) printf(“Not Answer”); else printf(“Total of Exchange Method is %d”,answer_flag); } 共有541种换法。 5. #include main( ) { int k,l,n; double e=1,fact_k=1; printf(“Please Input n:”); scanf(“%d”,&n); for(k=1;k<=n;k++) { fact_k=1; for(l=1;l<=k;l++) fact_k*=1; e+=1/(double)fact_k; } printf(“e=%lf”,e); } 程序运行结果: Please Input n:100 e=2.718282 6. #include main( ) { int k,l,m,n; printf(“Please Input n:\\n”); scanf(“%d”,&n); for(k=1;k<=n;k++) { for(m=0,l=1;l<=k/2;l++) if(!(k%l)) m+=l; if(m==k) printf(“M”,k); } } 程序运行结果: 6 28 496 7. #include main( ) { int year=0,number=0; for(year=2000;year<3000;year++) { if((year%4==0&&year0!=0)||year@0==0) { printf(“%d”,year); number++; if(number==0) printf(“\\n”); } } printf(“\\ntotal number of leap year is %d”,number); } 8. #include main( ) { int k,l,n; double sum=0,fact_k=1; printf(“Please Input n:”); scanf(“%d”,&n); for(k=1;k<=n;k++) { fact_k=1; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库程序设计上机实验课后答案在线全文阅读。
相关推荐: