-->
当前位置:首页 > 题库 > 正文内容

程序填空题:求学生平均成绩

Luz4年前 (2021-05-10)题库2430
下面这段程序输入若干个(人数由宏`STUDENT_NUM`定义)学生的成绩(成绩均为0~100之间的整数,不需要判断输入有效性),计算并打印他们的平均成绩(保留2位小数),最后按照输入的逆序打印每个学生的成绩。

例如当`STUDENT_NUM`定义为4,且输入 60 70 80 90 时,输出为:
```
Average: 75.00
90
80
70
60
```
请填写空缺的代码。
```c
#include
#include
#define STUDENT_NUM 4 //学生的人数。注意,此例中该宏定义为4,实际测试中可能定义为其它正整数
int main ( ){
int *p, sum=0;
p = (int *)malloc(STUDENT_NUM * sizeof(int)); //动态分配内存,用于存储学生的成绩
if(p == NULL) printf("Memory allocation failed!\n"); //内存分配失败
else{
for( @@[int i=0](1); i < @@[STUDENT_NUM](1); i++){ //注意:所要填的空之后有分号
scanf("%d", @@[p+i](1) ); //输入一名学生的成绩(并存储在p所指向的动态分配的某处内存空间中)
sum+= @@[ *(p+i)](1) ;
}
printf("Average: %.2f\n", @@[ (double)sum / STUDENT_NUM](1) );
for(int i=STUDENT_NUM-1; i>=0; i--) printf("%d\n", @@[p[i]](1));
free(p);
}
return 0;
}
```






答案:
第1空:int i=0

第2空:STUDENT_NUM

第3空:p+i

第4空: *(p+i)

第5空: (double)sum / STUDENT_NUM

第6空:p[i]

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。