问题遇到的现象和发生背景
从键盘输入8位同学的数学和英语成绩并保存在数组中,输出每门功课的平均分和最高分,并输出平均成绩最高和最低的学生序号。
问题相关代码,请勿粘贴截图
运行结果及报错内容
输出学生序号不会
我的解答思路和尝试过的方法
#include<stdio.h>
int main ()
{
int a[8][2],b[8],i,j,n1=1,n2=1,sum1=0,sum2=0,max1,max2,max3;
for (i=0;i<8;i++)
for(j=0;j<2;j++)
{
scanf("%d",&a[i][j]);
}
for (i=0;i<8;i++)
{
sum1+=a[i][0];
}
for (i=0;i<8;i++)
{
sum2+=a[i][1];
}
printf("数学的平均分为:%d 英语的平均分为:%d ",sum1/8,sum2/8);
max1=a[0][0];
for(i=1;i<8;i++)
{
if(max1<a[i][0])
{
max1=a[i][0];
}
}
max2=a[0][1];
for(i=1;i<8;i++)
{
if(max2<a[i][1])
{
max2=a[i][1];
}
}
printf("数学的最高分为:%d 英语的最高分为:%d",max1,max2);
、、以下代码算法错误、、
for(i=0;i<8;i++)
{
b[i]=a[i][0]+a[i][1];
}
max3=b[0];
for(i=1;i<8;i++)
{
if(max3<b[i])
{
max3=b[i];
n1++;
}
}
for(i=1;i<8;i++)
{
if(max3>b[i])
{
max3=b[i];
n2++;
}
}
printf("平均成绩最高的学生是%d号 平均成绩最低的学生是%d号",n1,n2);
return 0;
}