一、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(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型,所以用%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("\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)、通过(6084)和不及格(小于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;
}