三级网络上机演练的数据文件IN.DAT和OUT.DAT如何建立,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/19 18:10:35
例如题目:
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
如果我自己用vc6.0演练此题时,如何建立IN.DAT文件,输出是的OUT.DAT文件是自动生成,还是需要我事先就建立一个OUT.DAT文件。
多谢指导,我会给你追加20分。

建立in.dat文件程序:
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
FILE *fp = fopen("in.dat", "wb+");
fprintf(fp, "%04d\r\n", rand());
fclose(fp);
}
你所需要的程序架构如下:(这样你就知道out.dat是的生成过程)
...
FILE *fp = fopen("out.dat", "wb+");
...
fprintf(fp, ...);
...
fclose(fp);
...

考试的时候IN.DAT文件和OUT.DAT文件都是事先给你的,并不需要考生自己创建,考生只需要"请考生编制一函数jsVal()"就行了,正如你说的这道题,考试的时候打开考生文件如下:
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;

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() ;
printf("满足条件的数=%d\n", cnt) ;