题目:
使用数组完成,功能如下:
1输入6个学生成绩及学号
2找出最高分、最低分的学生学号及成绩
3求出全班平均分
4求出全班高于平均分的学生人数
写的代码:
(为什么运行时要输入七个学生成绩和学号?)
#include<stdio.h>
struct STU
{int stild;
float score;
}
stus[6];
int main()
{
int a[6],b[6],i,j,k,m;
float aver;
printf("请输入学生成绩和学号:\n");
for (i=0;i<7;i++)
{
scanf("%d %d",&a[i],&b[i]);
}
aver = float(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6])/7;
printf("平均分为:%.2f\n",aver);
for(i=0;i<7;i++)
{
for(k=i,j=k+1;j<7;j+=1)
if(a[k]<a[j])
k=j;
if(k!=i)
{
j=a[k],a[k]=a[i],a[i]=j;
j=b[k],b[k]=b[i],b[i]=j;
}
}
printf("最高分学生学号为%d,成绩为%d\n",b[0],a[0]);
printf("最低分学生学号为%d,成绩为%d\n",b[6],a[6]);
for (i=0;i<7;i++)
{
if (a[i]>aver)
{
m+=1;
}
}
printf("高于平均分的学生人数为%d",m);
return 0;
}