问答题
已知数据文件in15.dat中存有200个4位数,并已调用读函数readDat()把这些数存人数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字小于等于百位数字,百位数字小于等于十位数字,以及十位数字小于等于个位数字,并且此4位数是偶数,则统计出满足此条件的数的个数ent并把这些4位数按从小大的顺序存人数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到out15.dat文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
[试题程序]
#include<stdio.h>
#define HAX 200
int a[HAX],b[NAX],cnt=0;
void writeDat();
voidjsVal()
void readDat()
int i;
FILE*fp;
fp=fopen("in15.dat","r");
for(i=0;i<MAX;i++)
fscanf(fp,"% d",&a[i]);
fclose(fp);
voidmain()
int i;
readDat();
jsVal();
printf("满足条件的数=% d\n",cnt);
for(i=0;i<cnt;i++)
printf("% d\n",b[i]);
writeDat();
void writeDat()
FILE *fp;
int i;
fp=fopen("out15.dat","w");
fprintf(fp,"% d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"% d\n",b[i]);
fclose(fp);
【参考答案】
void jsVal()
{
int i,j; /*定义循环控制变量*/
int aA,a......
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)