首页 新闻 会员 周边 捐助

C语言对文件内容进行比较,求解

0
[已关闭问题] 关闭于 2021-12-25 09:47

从键盘输入n(n<=50)名学生的信息(定义为结构体),包括姓名、数学、英语、物理三门课程成绩,并按照总分由高到低进行排序,将排好序的学生数据存放到文件“sort.txt”文件中。
【输入说明】
输入第一行是一个数字,表示学生数n。接下来有n行数据,每一行表示一个学生的数据。
【输入样例】
3
张三 80 90 95
李四 76 89.5 89
王五 100 66.5 98.5
【输出样例】
张三:80.0 90.0 95.0
王五:100.0 66.5 98.5
李四:76.0 89.5 89.0

#include <stdio.h>
#include <string.h>
typedef struct student
{
    char name[20];
    float score[3];
}Stu;

//此函数定义用来测试,不能删除,自己提交的代码也要包含此内容
void AfterTest()
{
    FILE *fp;
    fp=fopen("sort.txt","r");
    Stu s;
    while(fread(&s,sizeof(Stu),1,fp)!=0)
    {
        printf("%s:%.1f %.1f %.1f\n",s.name,s.score[0],s.score[1],s.score[2]);
    }
    fclose(fp);
}
int main()
{
	int i,n;
	scanf ("%d",&n);
	Stu s[100];
	for (i=0;i<n;i++)
    	scanf ("%s%f%f%f",s[i].name,&s[i].score[0],&s[i].score[1],&s[i].score[2]);
	FILE *fp=fopen("sort.txt","w");
	for (i=0;i<n;i++)
		fwrite (&s[i],sizeof(Stu),1,fp);
    fclose (fp);
    //在这之上编写代码
    AfterTest();//用户测试,不能删除
    return 0;
 }

wedy1234的主页 wedy1234 | 初学一级 | 园豆:6
提问于:2021-12-25 09:28

当我输出数据的时候,顺序不会发生改变,我想比较的话比较代码应该插在哪里?可以给一个例子吗?

wedy1234 3年前
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册