一、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么。 程序说明 求 1 + 2/3 + 3/5 + 4/7 + 5/9 + … 的前15项之和。 运行示例: sum = 8.667936 程序如下: 1 #include <stdio.h> 2 void main( ) 3 { 4 int i, b = 1; 5 double s; //s由0开始,对s进行赋值,根据下面i=1可以得出 6 s = 0 ; 7 for(i = 1; i <= 15; i++) 8 { //i。b和s的不一样,所以需要注明 9 s = s + (double)i/(double)b //由题目可以知道b=2*i-1 10 b = 2+b; 11 } 12 printf( "sum = %f " , s); 13 } 【供选择的答案】 (1) A、s = 0 B、s = 1 C、s = -1 D、s = 2 (2) A、i/b B、double(i)/double(b) C、i/2*i-1 D、(double)i/(double)b (3) A、; B、b = 2 * i – 1; C、b = 1.0 * b; D、b = b + 2; (4) A、"sum = %d " B、"s = %c " C、"sum = %f " D、"s = %s " ---------------------------------题目分割线----------------------------------- 二、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么。。 【程序说明】 输入10个整数,将它们从大到小排序后输出。 运行示例: Enter 10 integers: 1 4 -9 99 100 87 0 6 5 34 After sorted: 100 99 87 34 6 5 4 1 0 -9 程序如下: 1 #include <stdio.h> 2 void main( ) 3 { 4 int i, j, t, a[10]; 5 printf("Enter 10 integers: "); 6 for(i = 0; i < 10; i++) //数组的取值是int型,所以用%d 7 scanf( (1) "%d", &a[i] ); 8 for(i = 1; i < 10; i++) //在i循环中运用j来比较最大的 9 for( (2) j = 1 ; (3) j < 10 - i ; j++) //如果前一个数小于后一个数,则将前一个数和后一数交换,知道得到最小的是最后的一个 10 if( (4) a[j] < a[j+1] ) 11 { 12 t = a[j]; 13 a[j] = a[j+1]; 14 a[j+1] = t; 15 } 16 printf("After sorted: "); 17 for(i = 0; i < 10; i++) 18 printf("%d ", a[i]); 19 printf(" "); 20 } 【供选择的答案】 (1) A、"%f", a[i] B、"%lf", &a[i] C、"%s", a D、"%d", &a[i] (2) A、j = 0 B、j = 1 C、j = i D、j = i - 1 (3) A、j > i B、j < 9 - i C、j < 10 - i D、j > i - 1 (4) A、a[i-1] < a[i] B、a[j+1] < a[j+2] C、a[j] < a[j+1] D、a[i] < a[j] ---------------------------------题目分割线----------------------------------- 三、编程,输入x后,根据下式计算并输出y值。 //编程,输入x后,根据下式计算并输出y值 #include<stdio.h> #include<math.h> int main(void) { double y,x; y=0; printf("输入x:"); scanf("%lf",&x); if(x>2){ y=y+sqrt(x*x+x+1); } else if((x>=-2)&&(x<=2)){ y=y+2+x; } else{ y=y+x*x; } printf("y=%.3f",y); return 0; } ---------------------------------题目分割线----------------------------------- 四、编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。 运行示例: Enter scores: 88 71 68 70 59 81 91 42 66 77 83 0 >=85:2 60-84:7 <60 : 2 //编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数 #include<stdio.h> int main(void) { double scores; int x,y,z; x=0; y=0; z=0;//x是优秀的学生,y是通过的学生数量,z是不及格的人数 printf("enter scores:"); scanf("%lf",&scores); //运用while循环,遇到0或者负数结束; while(scores>0){ //不同条件输出 if(scores>85){ x++; } else if((scores>=60)&&(scores<=84)){ y++; } else{ z++; } scanf("%lf",&scores); } printf(">=85:%d",x); printf("60-84:%d",y); printf("<60:%d",z); return 0; }