#include <stdio.h>
//不知道你有没有学动态数组,所以写成宏定义改起来方便
#define N 100 //人数
#define SUB 3 //科目
int main()
{
int stu;
int i;
int j;
float sum = 0.0;
char num[N][10] ;
float s_sum[SUB] = {0};
float score[N][SUB] = {{0}};
printf("输入学生个数:");
scanf("%d",&stu);
printf("输入学生学号:\n");
for(i = 0;i < stu;i++)
{
scanf("%s",&num[i]);
}
printf("输入分数:\n");
for(i = 0; i < stu; i++)
{
printf("学号%s学生的各科分数:\n",num[i]);
for(j = 0; j<SUB; j++) //存各科分数
{
scanf("%f",&score[i][j]);
}
}
for(i = 0; i < stu; i++)
{
for(j = 0; j < SUB; j++)
{
sum +=score[i][j];
}
printf("学号%s学生的平均分:%f\n",num[i],sum/(float)SUB);
sum = 0;
}
for(j = 0 ;j < SUB; j++)
{
for(i = 0;i < stu; i++)
{
s_sum[j]+=score[i][j];
}
printf("第%d学科的学生平均分:%f\n",j,s_sum[j]/stu);
}
return 0;
}
追问如果不用动态数组呢