已知数据文件IN76.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的千位数字),以及把百位数和十位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数且两个十位数中至少有一个数能被17整除,同时两个新十位数字均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数wfiteDat()把结果cnt及数组b中符合条件的4位数输出到OUT76. DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200], b[200], 己定义变量:cnt。请勿改动主函数main()、读函数madDat()和写函数writeDat()的内容。试题程序:include<stdio. h>define MAX 200int a[MAX] , b[MAX] , cnt=0;void jsVal( ){}void readDat ( ){int i;FILE *fp;fp=fopen ("IN76.DAT", "r");for (i=0; i<MAX; i++)fscanf (fp, "%d", a [i] );fclose (fp);}main ( ){int i;readDat ();jsVal ( );printf ("满足条件的数=%d\n", cnt);for (i=0; i<cnt; i++)printf("%d",b[i]);printf ("\n");writeDat ();}writeDat (){FILE *fp;int i;fp=fopen ( "OUT7 6. DAT", "w" );fprintf (fp, "%d\n", cnt);for (i=0; i<cnt; i++)fprintf(fp, "%d\n",b[i]);fclose (fp);}
已知数据文件IN76.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的千位数字),以及把百位数和十位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数且两个十位数中至少有一个数能被17整除,同时两个新十位数字均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数wfiteDat()把结果cnt及数组b中符合条件的4位数输出到OUT76. DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200], b[200], 己定义变量:cnt。
请勿改动主函数main()、读函数madDat()和写函数writeDat()的内容。
试题程序:
include<stdio. h>
define MAX 200
int a[MAX] , b[MAX] , cnt=0;
void jsVal( )
{
}
void readDat ( )
{
int i;
FILE *fp;
fp=fopen ("IN76.DAT", "r");
for (i=0; i<MAX; i++)
fscanf (fp, "%d", &a [i] );
fclose (fp);
}
main ( )
{
int i;
readDat ();
jsVal ( );
printf ("满足条件的数=%d\n", cnt);
for (i=0; i<cnt; i++)
printf("%d",b[i]);
printf ("\n");
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ( "OUT7 6. DAT", "w" );
fprintf (fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%d\n",b[i]);
fclose (fp);
}