您当前所在位置:首页 > 计算机等级考试

计算机三级网络技术机练习题2016年

编辑:sx_shangjianm

2016-07-22

16年考试正在紧张备考中,欢迎阅读这篇计算机三级网络技术机练习题,希望各位同学在有限的时间取得更多的收获。

1.已知数据文件IN25.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一函数 jsVal(),其功能是:把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的个位数字),把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要求计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat(),把结果cnt及数组 b中符合条件的4位数输出到 OUT25.DAT文件中。

注意:部分源程序已给出。

程序中已定义数组:a[200],b[200],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

#include

#define MAX 200

int a[MAX], b[MAX], cnt = 0;

void writeDat();

void jsVal()

{

int i,j; /*定义循环控制变量*/

int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/

int temp; /*定义数据交换时的暂存变量*/

int ab,cd; /*存储重新组合成的十位数*/

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位数的个位数字*/

ab=10*a4+a1; /*把千位数字和个位数字重新组成一个新的十位数*/

cd=10*a3+a2; /*把百位数字和十位数字组成另一个新的十位数*/

if (ab%2==1 && cd%2==1 && (ab%5==0 || cd%5==0)&& a4!=0 && a3!=0)

{ /*如果这两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新十位数的十位上的数字均不为零*/

b[cnt]=a[i]; /*则把满足条件的数存入数组b中*/

cnt++;

}

}

for(i=0;i

for(j=i+1;j

if(b[i]

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

void readDat()

{

int i;

FILE *fp;

fp = fopen("IN25.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[i]);

printf("\n");

writeDat();

}

void writeDat()

{

FILE *fp;

int i;

fp = fopen("OUT25.DAT", "w");

fprintf(fp, "%d\n", cnt);

for(i = 0; i < cnt; i++)

fprintf(fp, "%d\n", b[i]);

fclose(fp);

}

2.已知数据文件IN26.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位数输出到OUT26.DAT文件中。

注意:部分源程序已给出。

程序中已定义数组:a[200],b[200],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

#include

#define MAX 200

int a[MAX],b[MAX],cnt=0;

void writeDat();

void jsVal( )

{

int i,j; /*定义循环控制变量*/

int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/

int temp; /*定义数据交换时的暂存变量*/

int ab,cd; /*存储重新组合成的十位数*/

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位数的个位数字*/

ab=10*a4+a2; /*ab的十位数字是原4位数的千位数字,个位数字是原4位数的十位数字*/

cd=10*a1+a3; /*cd的十位数字是原4位数的个位数字,个位数字是原4位数的百位数字*/

if((ab-cd>=10)&&(ab-cd<=20)&&(ab%2==0)&&(cd%2==0)&&a4!=0&&a1!=0)

/*如果ab-cd≥10且ab-cd≤20且两个数均为偶数,同时两个新十位数的十位上的数字均不为零*/

{

b[cnt]=a[i]; /*将满足条件的数存入数组b中*/

cnt++; /*统计满足条件的数的个数*/

}

}

for(i=0;i

for(j=i+1;j

if(b[i]

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

void readDat( )

{

int i;

FILE *fp;

fp=fopen("IN26.DAT","r");

for(i=0;i

fscanf(fp,"%d",&a[i]);

fclose(fp);

}

void main()

{

int i;

readDat();

jsVal();

printf("满足条件的数=%d\n",cnt);

for(i=0;i

printf("%d\n",b[i]);

printf("\n");

writeDat();

}

void writeDat()

{

FILE *fp;

int i;

fp=fopen("OUT26.DAT","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i

fprintf(fp, "%d\n",b[i]);

fclose(fp);

}

3.已知数据文件IN27.DAT中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中,请编制一函数jsVal( ),其功能是:把千位数字和十位数字重新组合成一个新的十位数 (新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数均为素数且新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat( )把结果cnt及数组b中符合条件的4位数输出到OUT27.DAT文件中。

注意:部分源程序已给出。

程序中已定义数组:a[200],b[200],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

#include

#define MAX 200

int a[MAX],b[MAX],cnt=0;

void writeDat();

int isprime(int m)

{

int i;

for(i=2;i<=m/2;i++)

if(m%i==0) return 0;

return 1;

}

void jsVal()

{

int i,j; /*定义循环控制变量*/

int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/

int temp; /*定义数据交换时的暂存变量*/

int ab,cd; /*存储重新组合成的十位数*/

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位数的个位数字*/

ab=10*a4+a2; /*把千位数字和十位数字重新组合成一个新的十位数*/

cd=10*a1+a3; /*把个位数和百位数组成另一个新的十位数*/

if(isprime(ab)&&isprime(cd)&&a4!=0&&a1!=0)

/*如果新组成的两个十位数均为素数且新十位数的十位上的数字均不为零*/

{

b[cnt]=a[i]; /*把满足条件的数存入数组b中*/

cnt++; /*统计满足条件的数的个数*/

}

}

for(i=0;i

for(j=i+1;j

if(b[i]

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

void readDat( )

{

int i;

FILE *fp;

fp=fopen("IN27.DAT","r");

for(i=0;i

fclose(fp);

}

void main()

{

int i;

readDat();

jsVal();

printf("满足条件的数=%d\n",cnt);

for(i=0;i

printf("%d\n",b[i]);

printf("\n");

writeDat();

}

void writeDat()

{

FILE *fp;

int i;

fp=fopen("OUT27.DAT","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i

fprintf(fp, "%d\n",b[i]);

fclose(fp);

}

4.已知数据文件IN28.DAT中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中,请编制一函数jsVal( ),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab

注意:部分源程序已给出。

程序中已定义数组:a[200],b[200],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

#include

#define MAX 200

int a[MAX],b[MAX],cnt=0;

void writeDat();

void jsVal( )

{

int i,j; /*定义循环控制变量*/

int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/

int temp; /*定义数据交换时的暂存变量*/

int ab,cd; /*存储重新组合成的十位数*/

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位数的个位数字*/

ab=10*a4+a2; /*把千位数和十位数重新组合成一个新的十位数ab*/

cd=10*a1+a3; /*把个位数和百位数组合成另一个新的十位数cd*/

if((ab

/*如果ab

{

b[cnt]=a[i]; /*将满足条件的数存入数组b中*/

cnt++; /*统计满足条件的数的个数*/

}

}

for(i=0;i

for(j=i+1;j

if(b[i]

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

void readDat( )

{

int i;

FILE *fp;

fp=fopen("IN28.DAT","r");

for(i=0;i

fclose(fp);

}

void main()

{

int i;

readDat();

jsVal();

printf("满足条件的数=%d\n",cnt);

for(i=0;i

printf("%d\n",b[i]);

printf("\n");

writeDat();

}

void writeDat()

{

FILE *fp;

int i;

fp=fopen("OUT28.DAT","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i

fprintf(fp, "%d\n",b[i]);

fclose(fp);

}

这篇计算机三级网络技术机练习题,希望对大家有所帮助!

相关推荐:

计算机三级考试网络技术辅导考试重点汇总

计算机三级嵌入式系统开发精选练习题汇总

免责声明

精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。