用c语言编程,有三个学生的四门成绩,求每个学生的平均成绩和每门课的平均成绩,用二维数组的方法
时间: 2024-05-07 08:16:30 浏览: 76
你好,这是一个比较典型的求平均值问题,可以使用二维数组来存储学生的成绩数据。对于每个学生,可以遍历其对应的成绩数组,计算出该学生的平均成绩。对于每门课程,可以遍历所有学生在该门课程上的成绩,然后求出平均值。具体实现方式可以参考以下代码:
```c
#include <stdio.h>
#define NUM_STUDENT 3
#define NUM_COURSE 4
int main()
{
float scores[NUM_STUDENT][NUM_COURSE];
float stu_avg[NUM_STUDENT];
float course_avg[NUM_COURSE];
int i, j;
// 读入学生成绩
for (i = 0; i < NUM_STUDENT; i++)
{
printf("请输入第%d个学生的成绩:\n", i + 1);
for (j = 0; j < NUM_COURSE; j++)
{
scanf("%f", &scores[i][j]);
}
}
// 计算每个学生的平均成绩
for (i = 0; i < NUM_STUDENT; i++)
{
float sum = 0;
for (j = 0; j < NUM_COURSE; j++)
{
sum += scores[i][j];
}
stu_avg[i] = sum / NUM_COURSE;
}
// 计算每门课的平均成绩
for (j = 0; j < NUM_COURSE; j++)
{
float sum = 0;
for (i = 0; i < NUM_STUDENT; i++)
{
sum += scores[i][j];
}
course_avg[j] = sum / NUM_STUDENT;
}
// 输出结果
printf("每个学生的平均成绩为:");
for (i = 0; i < NUM_STUDENT; i++)
{
printf("%.2f ", stu_avg[i]);
}
printf("\n");
printf("每门课的平均成绩为:");
for (j = 0; j < NUM_COURSE; j++)
{
printf("%.2f ", course_avg[j]);
}
printf("\n");
return 0;
}
```
希望这能够对你有所帮助!
阅读全文