c语言编程:有n(n为整数,并且5≤n≤200)名学生,已知n名同学的考试成绩x(x为整数,并且0≤x≤100),求计算机2022级的平均分、最高分和最低分。
时间: 2024-05-27 12:11:42 浏览: 66
#include <stdio.h>
int main()
{
int n, x, sum = 0, max = 0, min = 100;
float average;
printf("请输入学生人数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
printf("请输入第%d名学生的成绩:", i);
scanf("%d", &x);
sum += x; // 累加总分
if (x > max) // 更新最高分
{
max = x;
}
if (x < min) // 更新最低分
{
min = x;
}
}
average = (float)sum / n; // 计算平均分
printf("平均分为:%.2f\n", average);
printf("最高分为:%d\n", max);
printf("最低分为:%d\n", min);
return 0;
}
相关问题
2、已知某个班30名学生的学号(3位整数)及某门课程的考试成绩(包含1位小数)。要求编写程序完成如下功能: 1)逐个显示考试成绩在90分以上(包括90分)的学生学号及考试成绩2)显示该课程的平均成绩 编程要求原始数据使用键盘输入并以数组形式存储。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 分以上的学生人数和该课程的平均成绩。
需要注意的是,本程序中的计算平均成绩是直接将所有学生的成绩相加再除以学生人数,这种方式在实际应用中可能存在问题,因为可能会受到极端值的影响。在实际应用中,通常需要先对数据进行处理,比如去除异常值等。
阅读全文