已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffCal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值,再减去百位数字上的值,最后减去十位数字上的值,如果得出的值大于等于0且原四位数是偶数,则统计出满足此条件的数的个数count,并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数Wdata(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。
注意:部分源程序已经给出。程序中已定义数组a[200]、b[200],已定义变量count。请勿改动数据文件IN.dat中的任何数据、主函数main()、读函数Rdata()和写函数Wdata()的内容。
include <stdio.h>
define MAX 200
int a[MAX], b[MAX], count = 0;
void diffCal()
{
}
void Rdata ()
{ int i;
FILE *fp;
fp = fopen("IN. dat", "r");
for (i=0; i<MAX; i++)
fscanf(fp, "%d,", &a[i]);
fclose (fp);
}
void Wdata ()
{ FILE *fp;
int i;
fp = fopen("OUT. dat", "w");
fprintf(fp, "%d\n", count);
for (i=0; i<count; i++)
fprintf(fp, "%d\n", b[i]);
fclose (fp);
}
void main ()
{ int i;
Rdata ();
diffCal();
printf("满足条件的数=%d\n", count);
for (i=0; i<count; i++)
printf("%d ", b[i]);
printf ("\n");
Wdata ();
}
第5题
为了提高检索速度,目录分解法把文件控制块(目录项)分解为两部分:【 】,包含文件名及相应的文件内部号;基本目录项,包含了除文件名外文件控制块的其他信息。
第7题
某二叉树结点的对称序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E。则该二叉树对应的树林包括【 】棵树。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!