已知数据文件IN14.DAT中存有300个4位数,并已调用读函数readDat()把这些数存人数组a中,请编制一函数jsVaue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的4位数依次存人数组b中,然后对数组b中的4位数按从大到小的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT14.DAT文件。
例如:7153.7+1=5+3,则该数满足条件,存人数组b中,且个数cnt=cnt+1。8129,8+1≠2+9,则该数不满足条件,忽略。
注意:部分源程序已给出。
程序中已定义数组:a[300],b[300],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
[试题程序]
#include<stdio.h>
int a[300],b[300],cnt=0;
void readDat();
void writeDat();
void jsValue()
voidmain()
int i;
readDat();
JsValue();
writeDat();
printf("cnt=% d\n",cnt);
for(i=0;i<cnt;i++)
printf("b[%d]=% d\n",i,b[i]);
void readDat()
FILE*fp;
int i;
fp=fopen("INl4.DAT","r");
for(i=0;i<300;i++)
fscanf(fp,"% d,",&a[i]);
fclose(fp);
void writeDat()
FILE*fp;
int i;
fP=fopen("OUT14.DAT","W");
fprintf(fp,"% d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"% d\n",b[i]);
fclose(fp);