题目描述:统计五个学生四门课程的考试成绩,要求输出每个学生的总成绩,每个学生的平均成绩,每门课程的平均分,最高分,最低分。
#include<stdio.h>
int main()
{
int id[5],course[5][4],total[5],ave[5],ave1[4],max[4],min[4];
int i,j,sum=0;
for(i=0;i<5;i++)
{
printf("请输入学生%d的学号:",i+1);
scanf("%d",&id[i]);
printf("请输入学生%d的四门课程的成绩:",i+1);
for(j=0;j<4;j++)
{
scanf("%d",&course[i][j]);
total[i]=total[i]+course[i][j];
}
ave[i]=total[i]/4;
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
sum+=course[j][i];
ave1[i]=sum/5;
}
sum=0;
}
for(j=0;j<4;j++)
{
max[0]=course[0][j];
min[0]=course[0][j];
}
for(i=0;i<4;i++)
{
for(j=1;j<5;j++)
{
if(max[i]<course[j][i])
max[i]=course[j][i];
if(min[i]>course[j][i])
min[i]=course[j][i];
}
}
//打印输出
printf("学号\t课程1\t课程2\t课程3\t课程4\t总分\t平均分\n");
for(i=0;i<5;i++)
{
printf("%d\t",id[i]);
for(j=0;j<4;j++)
printf("%d\t",course[i][j]);
printf("%d\t",total[i]);
printf("%d\t",ave[i]);
printf("\n");
}
printf("平均分\t");
for(i=0;i<4;i++)
printf("%d\t",ave1[i]);
printf("\n");
printf("最高分\t");
for(i=0;i<4;i++)
printf("%d\t",max[i]);
printf("\n");
printf("最低分\t");
for(i=0;i<4;i++)
printf("%d\t",min[i]);
printf("\n");
return 0;
}
为什么max可以正常输出,min就不可以,还有为什么第一个总分就输出错误,其他就正常输出(好像也不太正常)
运行结果是这样的