2016年9月计算机三级网络技术冲刺试题(52017年1月27日
}
{
voidjsVal()
{
a3=a[i]%1000/100;/*求4位数的百位数字*/
}
}
#defineMAX200
}
fprintf(fp,%d\n,b[i]);
b[cnt]=a[i];/*则将满足条件的数存入数组b中*/
#include
jsVal();
}
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
inti,j;/*定义循环控制变量*/
intab,cd;/*存储重新组合成的十位数*/
if(b[i]
FILE*fp;
voidwriteDat()
writeDat();
}
{
2.已知数据文件IN30.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的千位数字),以及把百位数和十位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数且两个十位数中至少有一个数能被17整除,同时两个新十位数字均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT30.DAT文件中。
for(j=i+1;j
{
intab,cd;/*存储重新组合成的十位数*/
voidmain()
b[i]=b[j];
fscanf(fp,%d,a[i]);
jsVal();
writeDat();
voidreadDat()
fp=fopen(IN30.DAT,r);
printf(满足条件的数=%d\n,cnt);
{
cnt++;/*统计满足条件的数的个数*/
程序中已定义数组:a[200],b[200],已定义变量:cnt。
printf(满足条件的数=%d\n,cnt);
for(i=0;i
a1=a[i]%10;/*求4位数的个位数字*/
for(i=0;i
{
readDat();
#defineMAX200
inti;
}
for(i=0;i
inttemp;/*定义数据交换时的暂存变量*/
}
if((ab%17==0cd%17==0)((ab%2==0cd%2==1)(ab%2==1cd%2==0))a1!=0a3!=0)
{
if((ab%9==0cd%9==0)(ab%2!=1)(cd%2!=1)a1!=0a3!=0)
a3=a[i]%1000/100;/*求4位数的百位数字*/
/*如果新组成的两个数均为偶数且两个十位数中至少有一个数能被9整除,同时两个新十位的十位上的数字均不为零*/
a2=a[i]%100/10;/*求4位数的十位数字*/
inttemp;/*定义数据交换时的暂存变量*/
{
}
voidmain()
inta[MAX],b[MAX],cnt=0;
}
}
cd=10*a3+a2;/*把百位数和十位数组成另一个新的十位数cd*/
{
程序中已定义数组:a[200],b[200],已定义变量:cnt。
ab=10*a1+a4;/*把个位数和千位数重新组合成一个新的十位数ab*/
{
fp=fopen(OUT29.DAT,w);
for(i=0;i
for(i=0;i
{/*如果新组成的两个十位数必须是一个奇数,另一个为偶数且两个十位数中至少有一个数能被17整除,同时两个新十位数的十位上的数字均不为0*/
printf(\n);
inti;
fclose(fp);
voidjsVal()
fp=fopen(IN29.DAT,r);
a2=a[i]%100/10;/*求4位数的十位数字*/
for(j=i+1;j
if(b[i]
cd=10*a3+a2;/*把百位数和十位数组成另一个新的十位数cd*/
for(i=0;i200;i++)/*逐个取每一个4位数*/
FILE*fp;
fclose(fp);
inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/
FILE*fp;
注意:部分源程序已给出。
readDat();
fprintf(fp,%d\n,cnt);
fclose(fp);
for(i=0;i
b[j]=temp;
{
fclose(fp);
b[j]=temp;
printf(%d,b[i]);
b[cnt]=a[i];/*将满足条件的4位数存入数组b中*/
}
1.已知数据文件IN29.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个数均为偶数且两个十位数中至少有一个数能被9整除,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT29.DAT文件中。
共2页:
inta[MAX],b[MAX],cnt=0;
cnt++;/*统计满足条件的数的个数*/
voidwriteDat();
inti;
fscanf(fp,%d,a[i]);
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
voidreadDat()
printf(%d\n,b[i]);
temp=b[i];
fprintf(fp,%d\n,cnt);
printf(\n);
inti;
}
voidwriteDat()
fprintf(fp,%d\n,b[i]);
inti,j;/*定义循环控制变量*/
inti;
注意:部分源程序已给出。
}
FILE*fp;
for(i=0;i
a4=a[i]/1000;/*求4位数的千位数字*/
{
temp=b[i];
inti;
{
#include
inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/
a4=a[i]/1000;/*求4位数的千位数字*/
b[i]=b[j];
ab=10*a1+a4;/*把个位数和千位数组合成一个新的十位数ab*/
for(i=0;i
a1=a[i]%10;/*求4位数的个位数字*/
fp=fopen(OUT30.DAT,w);
voidwriteDat();
for(i=0;i200;i++)/*逐个取每一个4位数*/