1、一、选择题(共 20 分,每小题 2 分) 当处理特定问题时的循环次数已知时,通常采用的语句是( )。 a. for b. while c. do-while d. switch 题目 2 在 switch 语句的每个 case 块中,假定都是以 break 语句结束的,则此 switch 语句容易被改写成的语句是( )。 a. for b. if c. do d. while 题目 3 for 语句能够被改写成的语句是( )。 a. 复合 b. if c. switch d. while 题目 4 下面循环语句执行结束后输出的 i 值为( )。 for(int i=0; in/2) cout
2、 void main() int x=5; switch(2*x-3) case 4: printf(“%d “,x); case 7: printf(“%d “,2*x+1); case 10: printf(“%d “,3*x-1); break; default: printf(“%s“,“defaultn“); 11 14 题目 32 #include void main() int i,s=0; for(i=1;i void main() int i, s1=0, s2=0; for(i=0;i void main() int n=6,y=1; while(n) y*=n-; pri
3、ntf(“y=%dn“,y); y=720 题目 35 #include const int M=20; void main() int i,c2,c3,c5; c2=c3=c5=0; for(i=1; i void main() int i,s; for(i=1,s=0;i void main() int a8=12,39,26,41,55,63,72,40; int i, i1=0, i2=0; for(i=0;i int a10=4,5,6,15,20,13,12,7,8,9; void main() int i,s4=0; for(i=0; i void main() char a=“
4、abcdbfbgacd“; int i1=0, i2=0, i=0; while(ai) if(ai=a) i1+; if(ai=b) i2+; i+; printf(“%d %d %dn“,i1,i2,i); 2 3 11 题目 40 #include void main() int a34=1,2,7,8,5,6,10,6,9,12,3,4; int m=a00; int i,j; for(i=0; im) m=aij; printf(“%dn“,m); 12 四、简答题:根据下列每个题目要求编写程序(共 20 分,每小题 4 分) 题目 41 编写一个函数,函数头格式为 “double
5、Mean(double a*M+*N+,int m,int n)”,要求返回二维数组amn中所有元素的平均值,假定在计算过程中采用变量 v 存放平均值。 double Mean(double aMN,int m,int n) int i,j; double v=0.0; for(i=0; i int FF(int a , int n) int mul=1; if(n=1)mul*=a0; else mul=an-1*FF(a,n-1); return mul; /*void main() int a6=1,2,3,4,5,6; printf(“%dn“,FF(a,6); */ 题目 43 编写
6、一个主函数,利用 while 循环,求出并显示满足不等式 1+1/2+1/3+ +1/n5 的最小 n值。 #include void main() int i=0; double s=0; /或 int i=1; double s=1; while(s void main() int i=0; /用 i 作为依次取值偶数的变量 int s=0; /用 s作为累加变量 do i+=2; s+=i*i; while(s void main() int i; /用 i 作为计数(循环)变量 int s=0; /用 s作为累加变量 int n; printf(“输入一个自然数 : “); scanf(“%d“, for(i=1; i=n; i+) s+=i*i; printf(“s=%dn“,s);