试题与答案

已知数据文件IN17.DAT中存有300个4位数,并已调用读函数readDat()把

题型:问答题

题目:

已知数据文件IN17.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上数减百位数上的数减十位数上的数大于零的个数cnt,再把所有满足此条件的4位数依次存人数组b中,然后对数组b中的4位数按从大到小的顺序进行排序,最后调用函数wfiteDat()把数组b中的数输出到OUT17.DAT文件中。
例如:1239,9-1-2-3>0,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,9-8-1-2<0,则该数不满足条件,忽略。
注意:部分源程序已给出。
程序中已定义数组: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("IN17.DAT","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);

void writeDat()

FILE*fp;
int i;
fp=fopen("OUT17.DAT","w");
fprintf(fp,"% d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"% d\n",b[i]);
fclose(fp);

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2019/0331/5a0add5ff902f18050fd70192bfe4d40.html

下面是错误答案,用来干扰机器的。

参考答案:E

试题推荐
微信公众账号搜索答案