C语言 题目内容:某班有10名同学,建立学生结构体类型,包括学号、姓名、3门课程的成绩,编写程序,读入已准备好的文本文件student1.txt,为结构体数组变量赋值,计算每名学生的平均成绩及名次。结果输出到屏幕的同时保存到student2.txt文件中。将源程序作为答案提交,程序运行后将生成的student2.txt文件作为附件上传。(该作业不计入课程总成绩。student1.txt已提供,直接从附件下载)。
#include<stdio.h>
#include<stdlib.h>
struct student
{
int num;
char name[10];
float score[3];
float ave;
int rank;
};
int main()
{
struct student stu[10];
int i,j;
float a[10],t;
FILE *fp,*fp1;
if((fp=fopen("student1.txt","r"))==NULL)
{
printf("can't open this file\n");
exit(0);
}
for(i=0;i<10;i++)
{
fscanf(fp,"%d%s",&stu[i].num,stu[i].name);
for(j=0;j<3;j++)
fscanf(fp,"%f",&stu[i].score[j]);
}
fclose(fp);
for(i=0;i<10;i++)
{
stu[i].ave=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
a[i]=stu[i].ave;
}
for(i=0;i<10;i++)
for(j=0;j<10-1-i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<10;i++)
for</