全国计算机三级网络技术上机终极版题库文档格式.docx
《全国计算机三级网络技术上机终极版题库文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机三级网络技术上机终极版题库文档格式.docx(67页珍藏版)》请在冰豆网上搜索。
题95字符替换f(p)=p*11mo256<
=32或对应大写则不变否则替换)12
题96(字符替换题f(p)=p*11mod256)12
题97(字符替换题f(p)=p*11mod256)12
题98(字符替题f(p)=p*17mod256)12
四位数问题13
题15(A<
B<
C<
D且四位数为偶数,则总数cnt由小到大排列)13
题目27(abcd,a-b-c-d>
0的个数cnt然后小到大排列)13
题28(abcd,if千十-个百>
=0且千十-个百<
=10且均是奇数,大到小排列)13
题29(abcd,千十-个百>
=10或<
=20且都是偶数大到小排列)14
题48(6712,6+2=7+18129,8+9<
>
1+2忽略小到大)14
题49(9123,9-1-2-3>
0,均pjz1,9812,9-8-1-2<
0,不满足条件均pjz2。
14
题51(千十,个百均为素数大到小)15
题52(千个,百十,均奇数至少一个被无整除)15
题53(千-百-十-个>
0的个数,然后小到大排列)16
题54(千加百=十加个然后大到小)16
题59(千十<
个百,千十奇数不被5整除,个百为偶数)16
题67(千加百=十加个且千加百=10(个-千))17
题68(abcd均为奇数大到小排序)17
题69(千减百减十减个>
=0且原数为奇数)17
题72(个千,百十,均偶数,至少一个被9整除,大小)18
题76(个千,百十,一奇一偶,至少一个17整除)18
题77(千加十=百加个,原四位数为偶,小到大)18
题78(千大白大十大个,四位数奇数,求cnt,小到大)19
题80(个减千减百减十>
0)19
题81(千加百=十加个个数cnt,均值pjzl,不满足均pjzl)19
题85(整数各位数运算题个-千-百-十>
=0cnt,小大排列)20
题86(千十个百,ab偶被5整除,cd奇。
小大排列)20
题87(6712,6+2=7+1均pjz1。
8129,8+9<
1+2不满足均pjz2)20
题89(abcd)21
ASCII左右移动问题21
题74(行为单位ASCII值左移4位,低位补0如后ASCII值小于等于32或大于100)21
题100(字符替换题ASCII值右移4位,高位补0)21
☆题16(字符替换题ASCII值右移4位再加上原字符的ASCII值)22
整数个数,左右移动22
题26(整数统计运算题,正整数个数totNum,右移一位偶数个数totCnt)22
题40(正整数个数totNum,各位之和偶个数totCnt均值totPjz)22
题65(totNum,各位数字之和是奇数的数的个数totCnt)22
题70(totNum,右移1位奇数个数totCnt,均值totPjz)23
数字排序,以后以前5个数,后三位数23
题1(紧靠m的k个素数)若输入17-5则应输出:
19,23,29,31,37。
23
题14(四位数连续大于该四位数以后的五个数且该数是奇数小到大)23
题30(四位数连续小于该四位数以后的五个数是偶数,小到大)24
题45(四位数连续大该数以前五个数且是偶数大到小)24
题46(该四位数连续大四位数前五个数且是奇数,该数被7整除,大到小)24
题5(整数排序题,后三位升序排序)25
题6正整数排序,后三位降序排列25
题2四位数各位是02468且从大到小排列25
题90(整数排序题{6,8,9,1,2,5,4,7,3}为{3,4,5,2,1(K1),6,8,9,7}26
方差,平方根,完全平方数,回文数,整数和小数和26
题33(方差运算题个数even,奇数均值ave1,偶数均值ave2方差totfc)26
题22(平方根问题)n以内(不包括n)同时被3与7整除的所有自然数之和平方根s27
题目23(实数运算题整数部分sumint小数部分sumdec)27
题24(完全平方数问题144,676,小到大排列)27
题25(回文数m=11,m2=121,m3=1331)28
字符串排序问题28
题43(abcdefgh处理后字符串ahcfedgb下标奇数小到大)28
题44(字符串左右排序交换题)29
题50(左升序然后左右两边交换)29
题88(字符串排序题,小到大,dAe,BfC.--,.ABCdef)29
题3(字符型题)O左边移到右边30
题4(字符处理—倒叙序输出abc-cba)30
题9(字符串排序题大到小CCbbAA——bbCCAA)31
题73(Adb.Bcdza--abck.LLhj,小写改为上个字母31
题63(s字符串所有字符左移一个位置串中的第一个移到最后)31
题71(ASCII,左降序,又升序)31
题10(字符小写字母改为下个,大写不变Adb.Bcdza-Aec.Bdeab)32
题11(字母移位改为下个字母Mn.123Zxy-No.123Ayz。
)32
题17(字符ASCII第一加第二,第二加第三,。
。
最后加第一)32
题19(单词个数统计题as在字符串出现的个数)33
数字问题34
题75(200组每组3个数,第一个数大第二个数加第三个数的和,)34
题79(1到1000被7或11整除但不能同时被7或11整除)34
题92(最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)34
题60(第二个数大于第一个数加第三个数的之和)34
素数问题35
题34(素数100-1000内个位与十位之和被10除得余数恰是百位数字的素数)35
题82(素数题300个四位数,个数cnt,均值pjz1,不满足均值pjz2)35
题66(第1个素数-第2个素数)35
题55(300个数中所有素数,小到大排列)36
题64(I,I+4,I+10都是素数的整数I的个数)36
题57(出圈题)
(本题采用实际上机题,05年9月和04年9月实际上机题与下面相同)
设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。
现要求按出圈次序,给出这n个人的顺序表p。
请考生编制函数Josegh()实现此功能并调用函数WriteDat()把编号按照出圈的顺序输出到OUT.DAT文件中。
注意:
第1个出圈的编号存放在p[0]中,第2个出圈的编号存放在p[1]中,直至第n个出圈的编号存放在p[n-1]中。
设n=100,s=1,m=10进行编程。
voidJosegh(void)
{inti,j,s1,w,q[100];
for(i=0;
i<
n;
i++)
q[i]=0;
s1=s;
for(i=1;
i<
=n;
i++)
p[i-1]=i;
for(i=n;
i>
=2;
i--)
{s1=(s1+m-1)%i;
if(s1==0)s1=i;
w=p[s1-1];
for(j=s1;
j<
i;
j++)p[j-1]=p[j];
p[i-1]=w;
}
for(i=0,j=n-1;
n,j>
=0;
i++,j--)
q[j]=p[i];
for(i=0;
i++)
p[i]=q[i];
}
题91(奇个数cnt1和偶cnt2数组xx下标为偶的元素值的算术平均值pj(保留2位小数))
请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx下标为偶数的元素值的算术平均值pj(保留2位小数)。
sum=0;
pj=0.0;
cnt1=cnt2=0;
N;
i++)
{if(xx[i]%2)cnt1++;
elsecnt2++;
if(i%2==0){pj+=xx[i];
sum++;
pj/=sum;
请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx中值为偶数的算术平均值pj(保留2位小数)。
结果cnt1,cnt2,pj输出到out.dat中。
cnt1=0;
cnt2=0;
for(m=0;
m<
m++)
if(xx[m]%2)cnt1++;
else{cnt2++;
pj+=xx[m];
if(cnt2==0)pj=0;
elsepj/=cnt2;
选票
题84(选票问题大于5个人无效票)
现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:
内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数大于5个人时被认为无效的选票。
给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。
请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。
把结果yy输出到文件OUT.DAT中。
voidCountRs(void)
{inti,j,count;
100;
{count=0;
for(j=0;
j<
10;
j++)
if(xx[i][j]=='
1'
)count++;
if(count>
5)continue;
)yy[j]++;
}}
题58(10人100行,1中,0未中,选票人数小于等于5无效选票)
现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:
内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。
if(count<
=5)continue;
题39(选票问题(10个人100行)1选中0未选中)
内容均为字符0和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票。
把结果yy输出到文件OUT.DAT中
voidCountRs(void)
if(count==0||count==10)continue;
级数,迭代,数列,方差
题93(方差运算题totfc=1/N∑(xx[i]-aver))
请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;
请编制函数Compute(),分别计算出xx中奇数的个数odd,偶数的个数even,平均值aver以及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。
计算方差的公式如下:
N2
totfc=1/N∑(xx[i]-aver)
i=1
原始数据文件存放的格式是:
每行存放10个数,并用逗号隔开。
(每个数均大于0且小于等于2000)
/***************编制函数ReadDat()for(i=0;
MAX;
{fscanf(fp,"
%d,"
&
xx[i]);
if((i+1)%10==0)
fscanf(fp,"
\n"
);
voidCompute(void)
{inti;
{if(xx[i]%2)odd++;
elseeven++;
aver+=xx[i];
aver/=MAX;
totfc+=(xx[i]-aver)*(xx[i]-aver);
totfc/=MAX;
题83(方差运算题totfc=1/N∑(xx[i]-ave1))
请编制函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。
totfc=1/N∑(xx[i]-ave1)
设N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。
原始数据文件存放的格式是:
/*********编制函数ReadDat()的部分************/
{fscanf(fp,"
{inti,yy[MAX];
yy[i]=0;
if(xx[i]%2){yy[odd++]=xx[i];
ave1+=xx[i];
else{even++;
ave2+=xx[i];
if(odd==0)ave1=0;
elseave1/=odd;
if(even==0)ave2=0;
elseave2/=even;
odd;
totfc+=(yy[i]-ave1)*(yy[i]-ave1)/odd;
题20(Fibonacci数列题F(n)=F(n-1)+F(n-2))
编写函数jsValue,它的功能是:
求Fibonacci数列中大于t的最小的一个数,结果由函数返回。
其中Fibonacci数列F(n)的定义为:
F(0)=0,F
(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。
例如:
当t=1000时,函数值为:
1597。
intjsValue(intt)
{intf0=0,f1=1,fn;
fn=f0+f1;
while(fn<
=t)
{f0=f1;
f1=fn;
}returnfn;
题21(迭代方法求方程题Xn+1=cos(Xn))
下列程序prog1.c的功能是:
利用以下所示的简单迭代方法求方程:
cos(x)-x=0的一个实根。
Xn+1=cos(Xn)
迭代步骤如下:
(1)取X1初值为0.0;
(2)X0=X1,把X1的值赋给X0;
(3)X1=cos(X0),求出一个新的X1;
(4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤
(2);
(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。
请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT17.DAT中。
floatcountValue()
{floatx0,x1;
x1=0.0;
do{x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>
=0.000001);
returnx1;
}或
floatcountValue()
{floatx0,x1=0.0;
while
(1)
{x0=x1;
x1=cos(x0);
if(fabs(x0-x1)<
1e-6)break;
returnx1;
}注:
本题在无忧或捷成模拟盘中,需定义doublex0,x1;
才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考。
题35(级数A1=1,A2=1,An=An-2+2An-1)
某级数的前两项A1=1,A2=1,以后各项具有如下关系:
An=An-2+2An-1(注:
n-2与n-1为下标)
下列程序prog1.c的功能是:
要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:
Sn<
M且Sn+1>
=M,这里Sn=A1+A2+...+An,并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制jsValue()函数来实现此功能,最后调用函数writeDat()把数组b[]中的值输出到out.dat文件中。
请勿改动主函数main()和写函数writeDat()的内容。
#include<
stdio.h>
intb[3];
jsValue()
{inta1=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;
1000&
=1000)b[1]=k;
10000&
=10000){b[2]=k;
break;
sn=sn+a12;
a1=a2;
a2=a12;
k++;
运行结果为:
M=100,n=6
M=1000,n=9
M=10000,n=11
题41(SIX+SIX+SIX=NINE+NINE)
计算出自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt以及满足此条件所有的SIX与NINE的和SUM。
请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT15.DAT中。
其中的S,I,X,N,E各代表一个十进制数字。
部分源程序存在文件prog1.c中。
请勿改动主函数main()和输出数据函数writeDat()的内容。
intcnt,sum;
voidcountValue()
{ints,i,x,n,e,six,nine;
for(s=1;
s<
s++)
for(x=0;
x<
x++)
for(n=1;
n<
n++)
for(e=0;
e<
e++)
{six=s*100+i*10+x;
nine=n*1000+i*100+n*10+e;
if(3*six==2*nine)
{cnt++;
sum+=six+nine;
}}
代码名称单价数量
题7(结构体操作题,产品代码由大到小,否则金额大到小)
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,