用C语言设计一个程序统计一个班全体学生3门课的考试成绩。要求能输入学生人数,并按编号从小到大的顺序依次输入学生成绩,在统计每门课程的全班总分,平均分及每个考生的总分和平均分。
时间: 2024-03-25 10:38:36 浏览: 156
c代码-输入全班学生的人数,输入全班学生的分数,并显示出他们的总分和平均分。
好的,我来给你写一个C语言程序,满足你的需求:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n; // 学生人数
printf("请输入学生人数:");
scanf("%d", &n);
int scores[n][3]; // 成绩数组
int i, j;
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
for (j = 0; j < 3; j++) {
scanf("%d", &scores[i][j]);
}
}
// 统计每门课程的总分和平均分
int total1 = 0, total2 = 0, total3 = 0;
for (i = 0; i < n; i++) {
total1 += scores[i][0];
total2 += scores[i][1];
total3 += scores[i][2];
}
float average1 = (float)total1 / n;
float average2 = (float)total2 / n;
float average3 = (float)total3 / n;
printf("第一门课程的总分为:%d,平均分为:%.2f\n", total1, average1);
printf("第二门课程的总分为:%d,平均分为:%.2f\n", total2, average2);
printf("第三门课程的总分为:%d,平均分为:%.2f\n", total3, average3);
// 统计每个考生的总分和平均分
for (i = 0; i < n; i++) {
int total = scores[i][0] + scores[i][1] + scores[i][2];
float average = (float)total / 3;
printf("第%d个学生的总分为:%d,平均分为:%.2f\n", i + 1, total, average);
}
return 0;
}
```
这个程序使用了二维数组来存储每个学生的成绩,然后按照输入顺序依次统计每门课程的总分和平均分,以及每个考生的总分和平均分。注意,由于涉及到浮点数的除法运算,需要将分子或分母强制转换为浮点数类型,以免出现整数除整数的情况。
阅读全文