求大神解答下什么地方有错
#include <stdio.h>void main()
{
int a[5],i,j,k,s1=0,s2=0;
int b[5];
int n[5];
double ave1,ave2;
for(i=0;i<5;i++)
scanf("%d %d %d",&a[i],&b[i],&n[i]);
for(i=0;i<5;i++)
{
s1=s1+a[i];
s2=s2+b[i];
}
ave1=s1/5;
ave2=s2/5;
printf("物理平均成绩%d 数学平均成绩%d\n",ave1,ave2);
if(a[i]<ave1&&b[i]<ave2)
{
printf("%d %d %d\n",n[i],a[i],b[i]);
}
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
if(a[i]<a[j])
{
k=a[i];a[i]=a[j];a[j]=k;
}
}
for(i=0;i<5;i++)
printf("%d\n",a[i]);
}
问题是已知一个班有5个学生。用n数组存放学号,a数组存放物理成绩,b数组存放数学成绩。要求计算:
①数学及物理课程的平均成绩;
②输出两门课程都低于平均成绩的同学的学号和成绩;
③对数学成绩从高到低排序。
我连第一问都没做出来