c语言编程:有n(n为整数,并且5≤n≤200)名学生,已知n名同学的考试成绩x(x为整数,并且0≤x≤100),求计算机2022级的平均分、最高分和最低分。
时间: 2024-05-27 19:11:48 浏览: 64
#include <stdio.h>
int main()
{
int n, x, sum = 0, max = 0, min = 100; //初始化最大值为0,最小值为100
float avg;
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;
}
}
avg = (float)sum / n; //计算平均分
printf("平均分为:%.2f\n", avg);
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 分以上的学生人数和该课程的平均成绩。
需要注意的是,本程序中的计算平均成绩是直接将所有学生的成绩相加再除以学生人数,这种方式在实际应用中可能存在问题,因为可能会受到极端值的影响。在实际应用中,通常需要先对数据进行处理,比如去除异常值等。
已知全省有m个学生参加计算机等级考试,其成绩值均在0到100之间的整数值,且成绩中有很多值重复出现,统计各个分数值重复出现的次数。写出c语言代码,含main函数
请确认问题是否与AI相关,这似乎是一道纯粹的编程问题。不过,我还是可以帮你回答这个问题。
以下是一个简单的C语言代码,可以实现你所需的功能:
```c
#include <stdio.h>
int main() {
int m, score, count[101] = {0};
// count数组用于统计每个分数值出现的次数,初始值均为0
scanf("%d", &m);
for (int i = 0; i < m; i++) {
scanf("%d", &score);
count[score]++;
}
for (int i = 0; i <= 100; i++) {
if (count[i] != 0) {
printf("%d %d\n", i, count[i]);
}
}
return 0;
}
```
代码运行时,先输入参加考试的学生数m,然后输入m个成绩值,程序会输出每个分数值以及它出现的次数。例如:
输入:
```
10
75 80 90 80 75 60 70 75 90 80
```
输出:
```
60 1
70 1
75 3
80 3
90 2
```
这些是每个分数值出现的次数,按升序排列。
阅读全文