2、已知某个班30名学生的学号(3位整数)及某门课程的考试成绩(包含1位小数)。要求编写程序完成如下功能: 1)逐个显示考试成绩在90分以上(包括90分)的学生学号及考试成绩2)显示该课程的平均成绩 编程要求原始数据使用键盘输入并以数组形式存储。C语言
时间: 2024-02-13 22:04:11 浏览: 175
学生成绩管理(C语言)
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int stu_id[30];
float score[30];
float sum = 0; // 总成绩
int count = 0; // 90分以上的人数
for (int i = 0; i < 30; i++) {
printf("请输入第%d个学生的学号和成绩:\n", i+1);
scanf("%d %f", &stu_id[i], &score[i]);
if (score[i] >= 90.0) {
printf("学号:%d 成绩:%g\n", stu_id[i], score[i]);
count++;
}
sum += score[i];
}
printf("90分以上的学生人数:%d\n", count);
printf("平均成绩:%g\n", sum / 30);
return 0;
}
```
解释一下代码的执行过程:
我们首先定义两个数组 `stu_id` 和 `score` 分别用来存储学生的学号和成绩。
然后我们使用 `for` 循环来逐个输入每个学生的学号和成绩,同时我们判断该学生的成绩是否大于等于 90 分,如果是,则输出该学生的学号和成绩。
在循环中,我们还累加每个学生的成绩到 `sum` 变量中,以便后面计算平均成绩。
最后,我们输出 90 分以上的学生人数和该课程的平均成绩。
需要注意的是,本程序中的计算平均成绩是直接将所有学生的成绩相加再除以学生人数,这种方式在实际应用中可能存在问题,因为可能会受到极端值的影响。在实际应用中,通常需要先对数据进行处理,比如去除异常值等。
阅读全文