全国计算机等级考试笔试:四级精练(2)
文章作者 100test 发表时间 2007:03:10 18:37:17
来源 100Test.Com百考试题网
题面:
已知数据文件IN.DAT中存有200个四位数, 并已调用读函数 readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次取每20个数中的最大值组成一个数, 这样可以获得10个新数并存入数组b中,接着把数组b中的数按从小到大的顺序重新存入数组b中。最后main()函数调用写函 数writeDat()把结果b输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义: a[200]、b[10]
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
初始化程序:
#include
#define MAX 200
int a[MAX], b[10].
void jsVal()
{
}
void readDat()
{
int i .
FILE *fp .
fp = fopen("in.dat", "r") .
for(i = 0 . i < MAX . i ) fscanf(fp, "%d", &.a[i]) .
fclose(fp) .
}
void main()
{
int i .
readDat() .
jsVal() .
for(i = 0 . i < 10 . i )
printf("b[%d]=%d\n", i, b[i]) .
writeDat() .
}
writeDat()
{
FILE *fp .
int i .
fp = fopen("out.dat", "w") .
for(i = 0 . i < 10 . i ) fprintf(fp, "%d\n", b[i]) .
fclose(fp) .
}