当前位置:学者斋 >

计算机 >计算机三级 >

计算机等级考试三级网络技术模拟试题及答案

计算机等级考试三级网络技术模拟试题及答案

为了帮助同学们更好复习计算机三级的考试,小编特地为大家整理了计算机三级网络技术的模拟试题,希望能帮助大家!

计算机等级考试三级网络技术模拟试题及答案

题目1:已知在文件中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件中。

void SortDat()

{int I,j;

PRO xy;

for(I=0;I<99;I++)

for(j=I+1;j<100;j++)

if(sell[I]

{xy=sell[I]; sell [I]=sell[j]; sell[j]=xy;}

else if(sell[I]==sell[j])

if(strcmp(sell[I],sell[j])<0)

{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}

}

题目2:已知在文件中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列, 若产品名称相同, 则按金额从小到大进行排列. 最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件中。

void SortDat()

{int I,j;

PRO xy;

for(I=0;I

for(j=I+1;j

if(strcmp(sell[I],sell[j])<0)

{xy=sell[I]; sell [I]=sell[j]; sell[j]=xy;}

else if(strcmp(sell[I],sell[j])==0)

if(sell[I]>sell[j])

{xy=sell[I];sell[I]=sell[j]; sell[j]=xy;}

}

题目3:请编制函数ReadDat()实现从文件中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到文件中。计算方差的公式如下:totfc=1/N∑(xx[i]-ave1)2

int ReadDat(void)

{FILE *fp;

int I,j;

if((fp=fopen("""",""r""))==NULL) return 1;

for(I=0;I<100;I++)

{for(j=0;j<10;j++)

fscanf(fp, ""%d,"", &xx[I*10+j]);

fscanf(fp, ""'n"");

if(feof(fp)) break;}

fclose(fp);

return 0;}

void Compute(void)

{int I, yy[MAX];

for(I=0;I<1000;I++)

if(xx[I]%2){odd++;ave1+=xx[I]; }

else{even++;ave2+=xx[I]; yy[even-1]=xx[I];}

ave1/=odd;

ave2/=even;

for(I=0;I

totfc+=(yy[I]-ave2)*(yy[I]-ave2)/even;

}

}

题目4:下列程序的功能是:选取出100以上1000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数CNT以及这些素数值的和SUM。请编写函数COUNTvalue()实现程序要求,最后调用函数WRITEDAT()把结果CNT和SUM输出到文件中.

void countValue()

{int I,j,half,hun,ten,data;

for(I=101;I<1000;I++)

{hun=I/100;

ten=I%100/10;

data=I%10;

if(hun==(ten+data)%10)

{half=I/2;

for(j=2;j

if(I%j==0) break;

if(j>=half)

{cnt++;sum+=I;} } }

}

题目5:某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1.

下列程序的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:Sn=M,这里Sn=A1+A2+...+An,

并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制jsvalue()函数来实现此功能, 最后调用函数writeDat()把数组b[]中的值输出到文件中。

void jsvalue()

{int a1=1,a2=1,n=1,an;

int sum0,sum;

sum0=a1+a2;

while(1)

{an=a1+a2*2;

sum=sum0+an;

a1=a2; a2=an; n++;

if (sum0<100&&sum>100) b[0]=n;

if (sum0<1000&&sum>1000) b[1]=n;

if (sum0<10000&&sum>10000) {b[2]=n; break;}

sum0=sum;

}

}

jsvalue()

{int a1=1,a2=1,a12,sn,k=2;

sn=a1+a2;

while(1)

{a12=a1+2*a2;

if(sn<100&&sn+a12>=100) b[0]=k;

if(sn<1000&&sn+a12>=1000) b[1]=k;

if(sn<10000&&sn+a12>=10000) {b[2]=k;break;}

sn=sn+a12;

a1=a2;a2=a12;

k++;

}

}

题目6:函数ReadDat()实现从文件中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件中。

替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{int I;

char *pf;

for(I=0;I

{pf=xx[I];

while(*pf!=0)

{if((*pf*11%256>='0'&&*pf*11%256<='9')||*pf*11%256<=32)

{pf++;continue;}

*pf=*pf*11%256;

pf++;} }

}

题目7:函数ReadDat()实现从文件中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件中。

替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的I值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{int I;

char *pf;

for(I=0;I

{pf=xx[I];

while(*pf!=0)

{ if ((*pf>='A'&&*pf<='Z')||*pf*11%256<=32)

{pf++;continue;}

*pf=*pf*11%256;

pf++;} }

}

题目8:已知在文件中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列, 若产品代码相同, 则按金额从小到大进行排列. 最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件中。

注意: 部分源程序存放在PROG1.C中。

请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

----------------------------------

void SortDat()

{int I,j;

PRO xy;

for(I=0;I

for(j=I+1;j

if(strcmp(sell[I],sell[j])>0)

{xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;}

else if(strcmp(sell[I],sell[j])==0)

if(sell[I]>sell[j])

{xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;}

}

{FILE *fp;

int i;

fp=fopen("","w");

for(i=0;i<100;i++){

fprintf(fp,"%s %s %4d %5d %101dn", sell[i],sell[i],sell[i],sell[i],sell[i]);}

fclose(fp);}

题目9:对10个候选人进行选举,现有一个100条记录的选票数据文件,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推 :内容均为字符0和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票.。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件中。

void CountRs(void)

{int I,j=0,k=0;

char *str;

for(I=0;I<10;I++)

yy[I]=0;

for(I=0;I<100;I++)

{str=xx[I];j=0;

while(*str)

if(*str=='1'){j++;str++;}

else str++;

if(j!=0&&j!=10)

{str=xx[I];k=0;

while(*str)

if(*str++=='1') yy[k++]+=1;

else k++;}

}

}

题目10:已知在文件中存有若干个(个数<200)四位数字的正整数,函数readdat()读取这若干个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求出这文件C.P有多少个正整数totnum;2、求出这些数中的各位数字之和是偶数的数的个数totcnt,以及满足此条件的这些数的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件中。

void CalValue(void)

{int I,thou,hun,ten,data;

int ab,sum=0;

for(I=0;I

{if(xx[I]>0) totNum++;

{thou=xx[I]/1000;

hun=xx[I]%1000/100;

ten=xx[I]%100/10;

data=xx[I]%10;

ab=thou+hun+ten+data;

if (ab%2==0)

{totCnt++;sum=sum+xx[I];}

}}

totPjz=sum/totCnt;

}

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/sanji/0mvo3.html