试题题干
文本文件num.dat中含有若干个整数,将这些数据读出后求出它们的和,再将这些数据与它们的和分别显示到屏幕上。
#include<stdio.h>
main()
{ int num;long int sum=0L;
FILE*fp;
fp=fopen(″num.dat″, ″r″);
do
{
fscanf(________,&num);/*第一空*/
sum+=_________;/*第二空*/
printf(″%5d″,num);
}while(_______);/*第三空*/
printf(″\nsum=%ld\n″,sum);
fclose(fp);
}
参考答案
试题解析
格式化读函数fscanf()的功能是从fp所指向文件中读取数据保存至num所指向的内存单元。即第一空应填入fp,"%d";
因为要将文本文件num.dat中若干个整数求和,第二空是对整数求和,即sum+=num;,故第二空填入num;
因为是要将数据显示出来,即在while中的表达式应是判断文本文件是否到达文件尾,即第三空应填入feof(fp)。