计算机三级考试试题网络技术精选试题4.docx
《计算机三级考试试题网络技术精选试题4.docx》由会员分享,可在线阅读,更多相关《计算机三级考试试题网络技术精选试题4.docx(11页珍藏版)》请在冰豆网上搜索。
计算机三级考试试题网络技术精选试题4
2016计算机三级考试试题网络技术精选试题(4)
1.已知数据文件IN13.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:
如果4位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT13.DAT文件中。
注意:
部分源程序已给出。
程序中已定义数组:
a[200],b[200],已定义变量:
cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
#defineMAX200
inta[MAX],b[MAX],cnt=0;
voidwriteDat();
voidjsVal()
{
inti,j;/*定义循环控制变量*/
inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/
inttemp;/*定义数据交换时的暂存变量*/
for(i=0;i<200;i++)/*逐个取每一个4位数*/
{
a4=a[i]/1000;/*求4位数的千位数字*/
a3=a[i]%1000/100;/*求4位数的百位数字*/
a2=a[i]%100/10;/*求4位数的十位数字*/
a1=a[i]%10;/*求4位数的个位数字*/
if(a4%2==0&&a3%2==0&&a2%2==0&&a1%2==0)
{/*如果各位上的数字均是0或2或4或6或8*/
b[cnt]=a[i];/*将满足条件的数存入数组b中*/
cnt++;/*统计满足条件的数的个数cnt*/
}
}
for(i=0;i<=""p="">
for(j=i+1;j
<>
if(b[i]
<>
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
voidreadDat()
{
inti;
FILE*fp;
fp=fopen("IN13.DAT","r");
for(i=0;i<="">
fclose(fp);
}
voidmain()
{
inti;
readDat();
jsVal();
printf("满足条件的数=%d\n",cnt);
for(i=0;i printf("\n");
writeDat();
}
voidwriteDat()
{
FILE*fp;
inti;
fp=fopen("OUT13.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i fclose(fp);
}
2.已知数据文件IN14.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数从大到小进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT14.DAT文件。
例如:
7153,7+1=5+3,则该数满足条件,存入数组b中,且个数cnt=cnt+1。
8129,8+1≠2+9,则该数不满足条件,忽略。
注意:
部分源程序已给出。
程序中已定义数组:
a[300],b[300],已定义变量:
cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
inta[300],b[300],cnt=0;
voidreadDat();
voidwriteDat();
voidjsValue()
{
inti,j;/*定义循环控制变量*/
inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/
inttemp;/*定义数据交换时的暂存变量*/
for(i=0;i<300;i++)/*逐个取每一个4位数*/
{
a4=a[i]/1000;/*求4位数的千位数字*/
a3=a[i]%1000/100;/*求4位数的百位数字*/
a2=a[i]%100/10;/*求4位数的十位数字*/
a1=a[i]%10;/*求4位数的个位数字*/
if(a4+a3==a2+a1)/*如果千位数加百位数等于十位数加个位数*/
{
b[cnt]=a[i];/*把满足条件的4位数依次存入数组b中*/
cnt++;/*计算满足条件的数的个数*/
}
}
for(i=0;i<=""p=""*对数组b中的4位数按从大到小进行排序*="">
for(j=i+1;j
<>
if(b[i]
<>
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
voidmain()
{
inti;
readDat();
jsValue();
writeDat();
printf("cnt=%d\n",cnt);
for(i=0;i printf("b[%d]=%d\n",i,b[i]);
}
voidreadDat()
{
FILE*fp;
inti;
fp=fopen("IN14.DAT","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
voidwriteDat()
{
FILE*fp;
inti;
fp=fopen("OUT14.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i fprintf(fp,"%d,\n",b[i]);
fclose(fp);
}
3.已知数据文件in15.dat中存有200个4位数,并已调用读函数readDat()把这些存入数组a中,请编制一函数jsVal(),其功能是:
若一个4位数的千位数字上的值小于于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合件的4位数输出到out15.dat文件中。
注意:
部分源程序已给出。
程序中已定义数组:
a[200],b[200],已定义变量:
cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
#defineMAX200
inta[MAX],b[MAX],cnt=0;
voidwriteDat();
voidjsVal()
{
inti,j;/*定义循环控制变量*/
inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/
inttemp;/*定义数据交换时的暂存变量*/
for(i=0;i<200;i++)/*逐个取每一个4位数*/
{
a4=a[i]/1000;/*求4位数的千位数字*/
a3=a[i]%1000/100;/*求4位数的百位数字*/
a2=a[i]%100/10;/*求4位数的十位数字*/
a1=a[i]%10;/*求4位数的个位数字*/
if((a4<=a3)&&(a3<=a2)&&(a2<=a1)&&(a1%2==0))
/*如果该数的千位数小于等于百位数,百位数小于等于十位数,十位数小于等于个位数,且此4位数是偶数*/
{
b[cnt]=a[i];/*则将该数存入数组b中*/
cnt++;/*并且统计出满足条件的数的个数*/
}
}
for(i=0;i<=""p=""*把数组b中的4位数按从小到大的顺序排列*="">
for(j=i+1;j
<>
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
voidreadDat()
{
inti;
FILE*fp;
fp=fopen("in15.dat","r");
for(i=0;i
<>
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
voidmain()
{
inti;
readDat();
jsVal();
printf("满足条件的数=%d\n",cnt);
for(i=0;i
<>
printf("%d\n",b[i]);
writeDat();
}
voidwriteDat()
{
FILE*fp;
inti;
fp=fopen("out15.dat","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i
<>
fprintf(fp,"%d\n",b[i]);
fclose(fp);
}
4.已知数据文件IN16.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT16.DAT文件中。
例如:
9123,9-1-2-3>0,则该数满足条件,存入数组b中,且个数cnt=cnt+1。
9812,9-8-1-2<0,则该数不满足条件,忽略。
注意:
部分源程序已给出。
程序中已定义数组:
a[300],b[300],已定义变量:
cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
inta[300],b[300],cnt=0;
voidreadDat();
voidwriteDat();
voidjsValue()
{
inti,j;/*定义循环控制变量*/
inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/
inttemp;/*定义数据交换时的暂存变量*/
for(i=0;i<300;i++)/*逐个取每一个4位数*/
{
a4=a[i]/1000;/*求4位数的千位数字*/
a3=a[i]%1000/100;/*求4位数的百位数字*/
a2=a[i]%100/10;/*求4位数的十位数字*/
a1=a[i]%10;/*求4位数的个位数字*/
if(a4-a3-a2-a1>0)/*如果千位数减百位数减十位数减个位数大于零*/
{
b[cnt]=a[i];/*则把该数存入数组b中*/
cnt++;/*统计满足条件的数的个数*/
}
}
for(i=0;i<=""p=""*对数组b的4位数按从小到大的顺序进行排序*="">
for(j=i+1;j
<>
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
voidmain()
{
inti;
readDat();
jsValue();
printf("cnt=%d\n",cnt);
writeDat();
for(i=0;i
<>
printf("b[%d]=%d\n",i,b[i]);
}
voidreadDat()
{
FILE*fp;
inti;
fp=fopen("IN16.DAT","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
voidwriteDat()
{
FILE*fp;
inti;
fp=fopen("OUT16.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i
<>
fprintf(fp,"%d\n",b[i]);
fclose(fp);
}