好心的大哥大姐们帮忙编个C程序吧

来源:百度知道 编辑:UC知道 时间:2024/05/31 08:38:28
好心的大哥大姐们帮忙编个C程序吧

题目:
有10个学生,每个学生的数据包括学号,姓名呵3门课的成绩,总成绩和平均成绩,
从键盘输入10个学生的数据(包括学号,姓名和3门课的成绩),要求打印出每位学生的
学号,姓名,三门课的成绩,总成绩和平均成绩,最后再打印出3门课的总平均成绩以及
最高分的学生的数据(包括姓名和总成绩).
要求:
(1) 根据学生信息定义一个结构体类型,再说明一个该结构体类型的数组.
(2) 用input函数从键盘上输入10个学生的数据。
(3) 用AVERAGE函数求出每个学生的总成绩,平均成绩和所有学生的总平均成绩.
(4) 用MAXIMUM函数找出最高分的学生的数据.
(5) 再主函数中输出每位学生的学号,姓名,三门课的成绩,总成绩和平均成绩以及
总平均分和最高分学生的数据.
输出形式如下:
NO. NAME SCORE1 SCORE2 SCORE3 TOTAL AVERAGE
101 WANG 80 79 81 240 80.00
102 LI 91 90 89 270 90.00

AVERAGE=85.00
THE HIGHEST SCORE : LI , SCORE TOTAL :270

最好能画出程序流程图!!!
能给出源程序清单更好!!!

#include<stdio.h>
struct student
{char num[5];
char name[10];
int score[3];
float avr;
}stu[5];
main()
{int i,j,max,maxi,sum;
printf("Please input 5 students data\n");
for(i=0;i<5;i++)
{printf("The NO.%1d number:",i+1);
scanf("%s",stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
for(j=0;j<3;j++)
{printf("score%1d:",j+1);
scanf("%d",&stu[i].score[j]);
}
}
max=0;
maxi=0;
for(i=0;i<5;i++)
{sum=0;
for(j=0;j<3;j++)
sum+=stu[i].score[j];
stu[i].avr=(float)sum/3;
if(sum>max)
{max=sum;
maxi=i;
}
}
printf("number name score1 score2 score3 average\n");
for(i=0;i<5;i++) <