二维动态数组输入m个班级每班n个学生的成绩输出平均分 C语言
时间: 2024-05-30 22:16:25 浏览: 173
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m, n;
printf("请输入班级数:");
scanf("%d", &m);
printf("请输入每个班级的学生数:");
scanf("%d", &n);
// 动态分配二维数组
int **scores = (int **)malloc(m * sizeof(int *));
for (int i = 0; i < m; i++) {
scores[i] = (int *)malloc(n * sizeof(int));
}
// 输入成绩
for (int i = 0; i < m; i++) {
printf("请输入第%d个班级的%d个学生成绩:\n", i + 1, n);
for (int j = 0; j < n; j++) {
scanf("%d", &scores[i][j]);
}
}
// 计算平均分并输出
for (int i = 0; i < m; i++) {
int sum = 0;
for (int j = 0; j < n; j++) {
sum += scores[i][j];
}
double avg = (double)sum / n;
printf("第%d个班级的平均分为%.2lf\n", i + 1, avg);
}
// 释放内存
for (int i = 0; i < m; i++) {
free(scores[i]);
}
free(scores);
return 0;
}
阅读全文