急急急~~!!!!123

来源:百度知道 编辑:UC知道 时间:2024/06/03 05:58:14
已知在文本文件下载文件“20075.txt”(右击,选择“目标另存为”)中共有500个记录,每个记录是用以下格式表示的5项数据(各数据间以空格分开):
学号 姓名 机试成绩 笔试成绩 平时成绩
nnnnnnnnn cccccc nn nn nn
(说明:n表示整型;c表示字符型;n的个数表示数据位数,例如nn表示两位整数,c的个数表示字符位数)
求出前100人的机试的平均成绩。

为爱ㄨ訫谇

#include "stdio.h"
#include "stdlib.h"
main()
{
FILE *file;
int i;
int score;
long sum=0;
if(!(file=fopen("20075.txt","r")))
{
printf("Can't open the file");
return ;
}
for(i=0;i<100;i++)
{
fseek(file,17,1);
fscanf(file,"%d",&score);
sum+=score;
fseek(file,7,1);
}
printf("%f",(float)sum/100);
}

我试过,可以。纪录与纪录的间隔是1个字节的情况。如果不是1个字节。把 fseek(file,7,1);的7修改就可以了,如果间隔是2字节,就把7改成8,如果不间隔,就把7改成6。