C语言考试题,各位大大帮忙啊,急啊!!!

来源:百度知道 编辑:UC知道 时间:2024/06/17 02:12:54
从键盘输入10位学生的数据,每位学生的数据包括学号、姓名、三门课的成绩。
要求:
1、输出三门课的总平均成绩。
2、输出有一门或一门以上课程不及格的学生数据。
3、输出每位学生按总分由高到低的排序结果。
4、将原有数据和每个人的平均成绩存放在磁盘文件中。 下面是前三问的程序,就剩第四问,帮帮忙啊!!!
#include <stdio.h>
#define N 10
struct student
{
char num[6];
char name[8];
float score[3];
float avr;
float sum;
}stu[N];

void main()
{
int i,j,maxi=0,k;
float max=0,average;
/* 输入数据 */
for(i=0;i<N;i++)
{
printf("input scores of student %d:\n",i+1);
printf("No.: ");
scanf("%s",&stu[i].num);
printf("name: ");
scanf("%s",&stu[i].name);
for(j=0;j<3;j++)
{
printf("score %d: ",j+1);
scanf("%f",&stu[i].score[j]);
}
}
/*计算各位学生的平均成绩和总成绩以及总的平均分average*/
average=0;
for(i=0;i<N;i++)
{
stu[i].sum=0;
for(j=0;j<

//此乃正宗C语言 翔翔网吧
save(){
FILE *tp;
char *lujing=0;
int n=N;
printf("where you will put it:");
printf("\n");
scanf("%s",lujing);
if((tp=fopen(lujing,"wr"))==0){
printf("can not open!\n");
getch();
return 0;
}
while(n--){
fprintf(tp,"%s %s %d %d %d\n"stu[n-1],num,stu[nn-1].name,stu[n-1].score,stu[n-1].avr,stu[n-1].sum)
}

}