c语言程序设计 急急急!!!!

3. 参考《实验指导书》 8.14完成上次实验课中的“成绩单”问题。具体分以下几个部分实现:
成绩录入部分
求平均分部分
成绩输出部分
排序部分(选做)

#include <stdio.h>
typedef struct student
{
char number[20];
char name[10];
float score[3];
float average;
}stu;

void average(stu s[],int n)
{
int i;
for( i=0;i<n;i++)
s[i].average =(float)((s[i].score[0]+s[i].score[1]+s[i].score[2])/3.0);
}

void order(stu s[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(s[i].average<s[j].average)
{
struct student temper;
temper=s[i];
s[i]=s[j];
s[j]=temper;
}
}

void show(stu s[],int n)
{
int i;
for( i=0;i<n;i++)
printf("%s\t%s\t%f\t%f\t%f\t%f\n",s[i].number,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].average);
}
int main()
{
int i=0,flag=1;
stu s[100];

while(flag)
{
printf("输入学号,姓名和三门课的成绩:\n");
scanf("%s%s%f%f%f",s[i].number,s[i].name,&s[i].score[0],&s[i].score[1],&s[i].score[2]);
i++;
printf("继续输入 选择 1,否则 输入 0:\n");
scanf("%d",&flag);
}
printf("the order of the score is:\n");
printf("学号\t姓名\t语文\t\t数学\t\t英语\t\t平均成绩\n");
average(s,i);
order(s,i);
show(s,i);

}
温馨提示:答案为网友推荐,仅供参考
相似回答