好文档 - 专业文书写作范文服务资料分享网站

2012年计算机三级网络技术上机题库 及答案 

天下 分享 时间: 加入收藏 我要投稿 点赞

全国计算机等级考试中心

for(I=0;I

{if(*pf%2==0||*pf*11%6<=32) ; else

*pf=*pf*11%6; pf++; } } }

题目19:编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为\子字符串为\,函数返回值为6。

函数readwriteDat()的功能是实现从文件in.dat中读取两个字符穿4,并调用函数findstr(),最后把结果输出到文件out.dat中。 注意:部分源程序已给出。

请勿改动主函数main()和函数ReadWrite()的内容。 -----------------------

int findStr(char *str,char *substr) { int n;

char *p , *r; n=0;

while ( *str ) { p=str; r=substr; while(*r)

if(*r==*p) { r++; p++; } else break; if(*r=='\\0') n++;

str++; } return n; }

题目20:编写函数jsvalue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1

F(n)=F(n-1)+F(n-2)

最后调用函数writeDat()读取10个数据t,分别得出结果且把结果输出到文件out.dat中。 例如:当t=1000时,函数值为:1597。

全国计算机等级考试中心

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

请勿改动主函数main()和写函数writeDat()的内容。 ----------------------- int jsValue(int t) { int f1=0,f2=1,fn; fn=f1+f2; while(fn<=t) {f1=f2; f2=fn; fn=f1+f2;} return fn; }

题目21:下列程序的功能是:利用发下所示的简单迭代方法求方程: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中。

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

请勿改动主函数main()和输出数据函数writeDAT()的内容。 ----------------------------- float countValue() {float x0,x1=0.0; while(1) {x0=x1; x1=cos(x0);

if(fabs(x0-x1)<1e-6) break; }

return x1; }

题目22:请编写函数countvalue(),它的功能是:求n以内(不包括n)同时能被3和7整数的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。 例如若n为1000时,函数值应为:s=153.909064。 注意:部分源程序已给出。

请勿改动主函数main()和输入输出数据函数progreadwrite()的内容。 ---------------------------- double countValue(int n)

全国计算机等级考试中心

{double xy=0.0; int I;

for(I=1;I

if(I%3==0&&I%7==0) xy+=I; xy=sqrt((double)xy); return xy; }

double countvalue(int n) { int i,j=0; double k;

for(i=0;i

if(i%3==0&&i%7==0) j+=i; k=sqrt(j); return k; }

题目23:已知在文件in.dat中存有N个(个数<200)四位数字的正整数,函数readdat()读取这N个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求出这N个实数的平均值aver;2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。 注意:部分源程序已给出。

请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。 ---------------------------- void CalValue(void) {int I;

double x,sum=0;

for (I=0;I

aver=sum/MAXNUM; }

题目24:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat()把结果输出到文件out.dat中。 注意:部分源程序已给出。

请勿改动主函数main()和写函数writeDat()的内容。 -------------------- jsValue(int a[10][9]) {int I,j,k=0; int hun,ten,data;

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

全国计算机等级考试中心

{j=10;

while(j*j<=I) {if (I==j*j)

{hun=I/100;data=I-hun*100; ten=data/10;data=data-ten*10; if(hun==ten||hun==data||ten==data) {bb[k]=I;k++;} }

j++;} } return k; }

题目25:下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int svalue(long m)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat中。 注意:部分源程序已给出。 请勿改动主函数main()的内容。 ------------------- int jsValue(long n) {int I,strl,half; char xy[20]; ltoa(n,xy,10); strl=strlen(xy); half=strl/2;

for(I=0;I

if(xy[I]!=xy[--strl]) break; if(I>=half) return 1; else return 0; }

题目26:已知在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数readdat()读取这若干个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求出这文件中共有多少个正整数totnum;2、求这些数右移1位后,产生的新数是偶数的数的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件out.dat中。 注意:部分源程序已给出。

请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。 ---------------------------- void CalValue(void) {int I,data;

for(I=0;I

全国计算机等级考试中心

if(xx[I]>0) totNum++; data=xx[I]>>1;

if (data%2==0){totCnt++;totPjz+=xx[I];} }

totPjz/=totCnt; }

题目27:已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到OUT.DAT文件。 例如:9123,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2. 注意:部分源程序已给出。

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

请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 --------------------- void jsValue()

{int I,thou,hun,ten,data,j; for(I=0;I<300;I++)

{thou=a[I]/1000; hun=a[I]00/100; ten=a[I]0/10; data=a[I];

if (thou-hun-ten-data>0){b[cnt]=a[I];cnt++;} }

for(I=0;Ib[j])

{data=b[I]; b[I]=b[j]; b[j]=data;} }

题目28:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数, 同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 -------------------------

64hcz5ow3s85bn78add3
领取福利

微信扫码领取福利

微信扫码分享