在已创建好的文件score1.txt中有两列数据(学号,成绩),现将数据从文件读出放入到两个数组num[]和score[]中,通过输入的学号查找成绩。
/** 知道学号查成绩
*在已创建好的文件score1.txt中有两列数据(学号,成绩),
*现将数据从文件读出放入到两个数组num[]和score[]中。通过
* 学号去操作数组查找成绩
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num[200],score[200],fdnum;
int i=0;
FILE *fp;
if((fp=fopen("score1.txt","r"))==NULL) //打开文件
{
printf("Can not open file!\n");
exit(1);
}
while(!feof(fp)) //读取到文件尾
{
fscanf(fp,"%d %d",&num[i],&score[i]);
i++;
}
//现在来按学号查找成绩
printf("请输入查找学号:");
scanf("%d",&fdnum);
for(i=0;i<200;i++)
if(num[i]==fdnum)
{
printf("学号 %d 的成绩是 %d",fdnum,score[i]);
break;
}
if(i>=200)
printf("不存在学号是 %d 的同学!\n",fdnum);
return 0;
}
执行结果
小结
循环读取语句还可写为:
while(fscanf(fp,"%d %d",&num[i],&score[i])!=EOF) //读取到文件尾
i++;