题目
己知数据文件IN60.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab<cd,ab必须足奇数且不能被5整除,cd必须是偶数,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT60.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
include<stdio.h>
define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat()
{
int i;
FILE *fp;
fp=fopen("IN60.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\n",b[i]);
printf("\n");
writeDat();
}
writeDat()
{
FILE *fp;
int i;
fp=fopen("OUT60.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp, "%d\n",b[i]);
fclose(fp);
}
第1题
第2题
已知数据文件IN60.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab<cd,ab必须是奇数且不能被5整除,cd必须是偶数,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果ont及数组b中符合条件的4位数输出到OUT60.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
include<stdio.h>
define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat()
{
int i;
FILE rfp;
fp=fopen (" IN60. DAT", "r" );
for (i=0; i<MAX; i++)
fscanf (fp, "%d", &a Ii] );
fclose (fp);
}
main ()
{
int i;
readDat ();
jsVal ();
printf ("满足条件的数=%d\n", cnt);
for (i=0; i<cnt; i++)
printf("%d\n",b[i]);
printf ("\n");
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ("OUT60. DAT", "w");
fprintf (fp, "%dkn", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%d\n",b[i]);
fclose(fp);
}
第3题
己知数据文件IN45.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab-cd≥10且ab-cd≤20且两个数均为偶数,同时两个新十位数字均不为零,则将满足此条件的4位数按从人到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT45.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main0、读函数readDat()和写函数writeDat()的内容。
试题程序:
include<stdio.h>
define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat()
{
int i;
FILE *fp;
fp=fopen("IN45.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\n",b[i]);
printf("\n");
writeDat();
}
writeDat()
{
FILE *fp;
int i;
fp=fopen("OUT45.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp, "%d\n",b[i]);
fclose(fp);
}
第4题
己知数据文件IN57.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数不清jsValue(),其功能是:求出个位数上的数减千位数上数减百位数上的数减十位数上的数大于零的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从大到小的顺序进行排序,最后调用函数writeDat()把数组b中的数输出到OUT57.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;
jsValue()
{
}
main()
{
int i;
readDat();
jsValue();
writeDat();
printf("cnt=%d\n",cnt);
for(i=0;i<cnt;i++)
printf("b[%d]=%d\n",i,b[i]);
}
readDat ()
{
FILE *fp;
int i;
fp=fopen("IN57.DAT","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
writeDat()
{
FILE *fp;
int i;
fp=fopen("OUT57.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp, "%d\n",b[i]);
fclose(fp);
}
第5题
已知数据文件IN.dat中存有200个四位数,并己调用读函数rData()把这些数存入数组a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数一个是奇数,另一个为偶数,并且两个二位数中至少有一个数能被17整除,同时两个新数的十位数字均不为 0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数count。最后main()函数调用写函数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 spellNum ()
{
}
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 ();
spellNum ();
printf ("满足条件的数=%d\n", count);
for (i=0; i<count; i++)
printf("%d ", b[i]);
printf ("\n");
wData ();
}
第6题
已知数据文件1N68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,清编制一函数JsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到 OUT68.DAT文件。
注意:部分源程序己给出。
程序中已定义数组;a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
include<stdio.h>
define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat()
{
int i;
FILE *fp;
fp=fopen("IN68.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf (满足条件的数=%d\n", cnt);
for(i=0;i<cnt;i++)
printf ("%d", b Iii );
printf ("\n");
writeDat ();
}
writeDat ()
{
FILE *fp;
iht i;
fp=fopen ("out68.dar","w");
fprintf (fp,"%d\n",cnt);
for (i=0; i<cnt; i++)
fprintf {fp,"%d\n",b Iii );
fclose (fp);
}
第7题
已知数据文件IN78.DAT中存有200个4位数,并己调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数 writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT78.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
include<stdio. h>
define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
void readDat()
{
int i;
FILE *fp;
fp=fopen("IN78.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("OUT78.DAT","w");
fprintf(fp, "%d\n" ,cnt);
for(i=0;i<cnt ;i++)
fprintf(fp, "%d\n" ,b[i]);
fclose(fp);
}
第8题
已知数据文件IN89.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值加个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的4位数输出到 OUT89.DAT文件中。
注意:部分源程序已给出。
程序中己定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
include<stdio.h>
define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat()
{
int i;
FILE *fp;
fp=fopen("IN89.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("OUT89.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp, "%d\n",b[i]);
fclose(fp); ~'
}
第9题
已知数据文件IN76.DAT中存有200个4位数,并己调用读函数readDat()把这些数存入数组a中,请编制一函数jsval(),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的千位数字),以及把百位数和十位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数且两个十位数中至少有一个数能被17整除,同时两个新十位数字均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到 OUT76.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数wiltedat()的内容。
试题程序:
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("OUT76.DAT","w");
fprintf(fp, "%d\n" ,cnt);
for(i=0;i<cnt;i++)
fprintf(fp, "%d\n" ,b[i]);
fclose(fp);
}
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!