fscanf恶心人??+csdn改字体

作业9-75:
P309-4.(3)插入成绩并保存。对排序后的数据再插入一个学生的成绩,将原有数据和计算出的平均分数存储在磁盘文件sort2.txt中。
student.txt

lj,2.000000,3.000000,5.000000,5
sj,23.000000,5.000000,3.000000,5
ok,23.000000,5.000000,4.000000,6
nk,2.000000,3.000000,5.000000,2
iu,2.000000,3.000000,5.000000,6
10
10
3
3
3

#include<stdio.h>
struct student{
	char name[20];
	float score[3];
	int num;
};
void cmp(int [],int);
int main()
{
    struct student stu[6];
    int i,avg[6];
    FILE *fp=fopen("student.txt","r");
    for(i=0;i<5;i++){
        /*坑爹的地方 %[^,]读取非','的字符串让后再用%*c把逗号读取掉*/fscanf(fp,"%[^,]%*c%f,%f,%f,%d%*c",stu[i].name,&stu[i].score[0],&stu[i].score[1],
		&stu[i].score[2],&stu[i].num);
	}
		for(i=0;i<5;i++){
              fscanf(fp,"%d\n",&avg[i]);
	}
	fclose(fp);
	printf("please input new data!\n");
	i=5;
	scanf("%s%f%f%f%d",stu[i].name,&stu[i].score[0],&stu[i].score[1],
		&stu[i].score[2],&stu[i].num);
		avg[i]=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
		cmp(stu,6);
		fp=fopen("sort2.txt","w");
		for(i=0;i<6;i++){
        		fprintf(fp,"%s%f%f%f%d",stu[i].name,stu[i].score[0],stu[i].score[1],
		stu[i].score[2],stu[i].num);
		fprintf(fp,"\n");
	}
    for(i=0;i<6;i++){
              fprintf(fp,"%d\n",avg[i]);
	}
	fclose(fp);
	return 0;
}
void cmp(int x[],int y){
int i,j,t;
for(i=2;i<=y;i++)
    for(j=0;j<=y-i;j++)
{
    if(x[j]<x[j+1]){
        t=x[j];
        x[j]=x[j+1];
        x[j+1]=t;
    }
}
}

解决这个问题参考了https://blog.csdn.net/jeffasd/article/details/80705487
还有这个链接的回答
https://zhidao.baidu.com/question/1765738567060121660.html
这篇博客非常全面的介绍了scanf的使用例如%[^,]是课本没有的,我佛了

顺便记录一下csdn博客如何改变字体类型和大小颜色的语言
参考了https://blog.csdn.net/qq_38437505/article/details/78575161
我是黑体字
我是微软雅黑
我是华文彩云

color=#0099ff size=72 face=“黑体”
color=#00ffff
color=gray

> <font face="黑体">我是黑体字</font>
<font face="微软雅黑">我是微软雅黑</font>
<font face="STCAIYUN">我是华文彩云</font>

<font color=#0099ff size=7 face="黑体">color=#0099ff size=72 face="黑体"</font>
<font color=#00ffff size=72>color=#00ffff</font>
<font color=gray size=72>color=gray</font>

猜你喜欢

转载自blog.csdn.net/a846276245/article/details/85925750
今日推荐