计算机等级考试三级网络技术模拟试题及答案
- 计算机三级
- 关注:1.83W次
为了帮助同学们更好复习计算机三级的考试,小编特地为大家整理了计算机三级网络技术的模拟试题,希望能帮助大家!
题目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