一、填空:閱讀下列程序說明和程序,在可選答案中,挑選一個正確答案。填補(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\n" , 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\n" B、"s = %c\n"C、"sum = %f\n" D、"s = %s\n" ---------------------------------題目分割線----------------------------------- 二、填空:閱讀下列程序說明和程序,在可選答案中,挑選一個正確答案。填補(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型,所以用%d7 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("\n"); 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; }
?