计算机二级考试上机题库.docx
- 文档编号:2430762
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:38
- 大小:71.70KB
计算机二级考试上机题库.docx
《计算机二级考试上机题库.docx》由会员分享,可在线阅读,更多相关《计算机二级考试上机题库.docx(38页珍藏版)》请在冰点文库上搜索。
计算机二级考试上机题库
求出小于或等于lim的所有素数放在aa数组中,返回所求出的素数的个数。
for(j=2;j
if(i%j==0)break;
elsecontinue;
if(j>=i)aa[k++]=i;
填空a[0][i] 改错voidfun(int*x,int*y)t=*x;*x=*y;*y=t; 选择: BDCBDDCACDCDDBDCCBACBBADCBACAD ABDACDBCAD inti;floats=1.0,t=1.0; for(i=2;i<=n;i++){t+=i;s+=1.0/t;} returns; 填空1.0-1.0t 改错for(i=1;i<=3;i++)if(k>=0&&k<=6) ADBBBCCCBACDDACBDCBDACDBA BBACDAADBC inti,j;doubles=1.0,p=1.0,t=1.0; for(i=1;i<=n;i++){t=t*i;p=p*x;s+=p/t;} returns; 填空ips[j]tp 改错doublefun(intn)returnsum; DDBCCBBAACCDDBCDABDCDDACBD BCBCCCBDCBDBCCC s=(ln (1)+ln (2)+ln(3)+…+ln(m))0.5。 inti;doubles=0.0,log(doublex); for(i=1;i<=m;i++)s+=log((double)i); returnsqrt(s); 填空aab 改错c=c+32;c=c+5; ACDDACBADDAABDECADDCBADCABACCCBDADC BACDD doubles=1.0;floatt=1,pi=0,n=1.0; while((fabs(s))>=eps){pi+=s;t=n/(2*n+1);s*=t;n++;} returnpi*2; 填空0.0n(t*t) 改错for(i=0;str[i];i++) if(substr[k+1]=='\0') CDBDBBCDAAADCBCDACDDBCABD CBACBBCADC doubles1=1.0,p=1.0,s=0.0,s0,t=1.0;intn=1; do{s0=s1;s+=s0;t*=n;p*=(0.5-n+1)*x;s1=p/t;n++;}while(fabs(s1-s0)>=1e-6); returns; 填空xnfabs(t) 改错for(i=1;i<=y;i++)t=t%1000; ADACBBCADCDCBBCBBDCABBCBA BCCCAABBCAABDDA 计算给定10个数的方差: inti,j;doubles=0.0,s1=0.0; for(i=0;i<10;i++)s1+=x[i];s1/=10; for(j=0;j<10;j++)s+=(x[j]-s1)*(x[j]-s1);s/=10; returnsqrt(s); 填空1.01i 改错k=i;c=k%10; BBADAABCDDCAACCCBBACBBCADDCDBA CCDACADDCB 计算给定整数n的所有因子之和。 ints=0,i; for(i=2;i<=n-1;i++) if(n%i==0)s+=i; returns; 填空&&’A’ch 改错voidfun(int*a)a[j]=a[j-1]; ADCCADDADDBCDABBCCCDCBDAADDABBCADBA BDAAA 求Fibonacci数列中大于t的最小的一个数。 inta=1,b=1,c=0,i; for(i=4;i<=t;i++) {if(c elsebreak;} returnc; 填空NN-10 改错s=s+(double)(n+1)/n;returnt; CCBBABDCACDCBBABCDAACDADDBACDCCBDBB BBBAD 将一个数字字符串转换为一个整数。 longs=0,t;inti=0,n=strlen(p),k,s1; if(p[0]==’-’)i++; for(j=i;j<=n-i;j++) {t=p[j]-’0’;s1=10; for(k=j;k if(p[0]==’-’)return–s; elsereturns; 填空100x 改错if(n==0)result*=n--; ABDACBDACDCBDCABDACDBDDADDBCADCDCDA DACDD w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数。 unsignedt=w,s=0,sl=1,p=0; while(t>10){if(t/10)p=t%10;s+=p*sl;sl*=10;t/=10;} returns; 填空tttt.score[i]std 改错m=i;if(a[k]>a[m])m=k; DBBCBADCDCDCBDADBCDCDACBDACDBCADBDCCDCCC 对变量h中的值保留2位小数,并对第三位进行四舍五入。 intt;floatf; t=(int)h;f=h-t; if((int)(f*1000)%10>=5)f=((int)(f*100)%100+1)/100.0; elsef=((int)(f*100))/100.0; returnt+f; 填空’0’s++ctod(a)+ctod(b) 改错voidfun(char*s,int*a,int*b) *a=*a+1; *b=*b+1; BADDABDACDADBCDCACCDADCBDCBDACCDDACBBDCC 求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中。 inti,j=0,k=0,*t=pp; for(i=1;i<=x;i++) if(i%2! =0)t[j++]=i; for(i=0;i if(x%t[i]==0)pp[k++]=t[i]; *n=k;填空t,ss[i]’\0’ 改错if(i%k==0)if(k>=i) ABDDDCADBCBDDCCACCBBADDBCBCDDABCDACBDACD 找出一维整型数组元素中最大的值和它所在的下标。 inti; *max=a[0]; for(i=0;i if(a[i]>*max){*max=a[i];*d=i;} 填空12.0*i(-1) 改错k++;if(m==k) BDDCCABDCDCCCACBDACDDAAABBACDCCDDAABBADC 求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 inti,max=s[0]; for(i=0;i if(s[i]>max){max=s[i];*k=i;} 填空n++0s++ 改错t+=s[k];*aver=ave; BBDACDCCADCABBDACDCDCDADCBBEADACDBADDDCD 求出—个2×M整型二维数组中最大元素的值。 inti,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;j if(a[i][j]>max)max=a[i][j]; returnmax; 填空3.0>(2*i+1) 改错doublefun(intn)s=s+(double)a/b; ABDDCBADCDBBDADCADAABBCDDCCAAABACDABBACA tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。 inti,j,min; for(j=0;j {min=tt[0][j]; for(i=0;i if(tt[i][j] 填空std[0]std[i].agemax.name 改错voidfun(int*a,int*b)t=*b;*b=*a;*a=t; AACDABBDADBDAADDDCADABBDACDACCBACACCDDAC 计算并输出3到n之间所有素数的平方根之和。 intm,k,i;doubles=0.0; for(m=3;m<=n;m++) {k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>=k+1)s+=sqrt(m);} returns; 填空it++count 改错intfun(inta,intb,intc) elsereturn1; ABBCADBBCACAACBADBCABACDACDDCDBBDACDADDA 将大于形参m且紧靠m的k个素数存入xx所指的数组中。 intg=0,i,j,flag=1; for(i=m+1;1;i++) {for(j=2;j {if(i%j! =0)flag=1; else{flag=0;break;}} if(flag==1&&j>=i) {if(k>=0){xx[g++]=i;k--;} elsebreak;}} 填空s--return0 改错doublefun(intn)c=a;a+=b;b=c; ABCDABBDCCDBCADCBDADDDCBABCDBCCDABCDBCAD 将所有大于1小于整数m的非素数存入xx所指数组中。 inti,j,t=0; for(i=4;i for(j=2;j {if(i%j==0){xx[t++]=i;break;}} *k=t; 填空M 改错if(('a'<=tt[i])&&(tt[i]<='z')) tt[i]-=32; BBADCCCDABCBCDDAAACDBDDABCADBCBDCABDDDCD 利用简单迭代方法求方程cos(x)-x=0的一个实根。 Xn+1=cos(Xn) floatx1=0.0,x0; do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6); returnx1; 填空i++mm 改错while((high>=2)&&(n<10))yes=0;break; CDDBADACBDBDACDCCDDBACCBDBDACDBDCADABDBD 求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中。 inti,j=0,k=0,*t=pp; for(i=1;i<=x;i++) if(i%2! =0)t[j++]=i; for(i=0;i if(x%t[i]==0)pp[k++]=t[i]; *n=k 填空t,ss[i]’\0’ 改错if(i%k==0)if(k>=i) BADBDADBBDADCCDCCCDADABDDBADBDBDABDBDABD 94.请编写函数fun,它的功能是: 将字符串中的前导*号全部删除,中间和尾部的*号不删除。 删除前导*号 char*p=a; while(*p=='*')p++ ; for(;*p! ='\0';p++,a++)*a=*p ; *a='\0'; voidfun(int(*t)[N]) t[i][j]=t[i][j]+t[j][i]; t[j][i]=0; #defineFU(m,n)((m)/(n)) return(value); ABDBBBADCDDABCDCCCADADDCDBBADBCCADACDADD 56.请编写函数fun,它的功能是: 除了尾部的*号之外,将字符串中其他*号全部删除。 形参p已指向字符串中最后的一个字母。 57.除尾部*号其余*删除 char*t=a; for(;t<=p;t++)if(*t! ='*')*(a++)=*t; for(;*t! ='\0';t++)*(a++)=*t; *a='\0'; voidfun(intt[N][N],intn) for(i=0;i t[i][n-1-i]=s; intfun(inta[],intm) elseif(m>a[mid]) BBDDCDBACCDBCDABBDCDBADACDACCACAACADABDA 73.请编写函数fun,它的功能是: 除了字符串前导和尾部的*号之外,将串中其他*号全部删除。 只删除中间*号 inti=0;char*q=a; while(q while(q ='*'){a[i]=*q;i++;}q++;} while(*q){a[i]=*q;i++;q++;} a[i]='\0'; sum=0; sum+=t[i][i]; sum+=t[i][n-i-1]; doubler; while(fabs(n-m)>0.001) CADDDBCDAAABCDABBACDBCABBACBCDABBCD 66.请编写函数fun,它的功能是: 删除字符串中所有的*号。 删除串中所有*号 inti,j=0; for(i=0;a[i]! ='\0';i++) if(a[i]! ='*')a[j++]=a[i]; a[j]='\0'; if(a[i]%2==1) a[j]=a[i];j++; returnj; t=a;a=b;b=t; return(b); BADCDADCDABBACDCCADCBDADCBBCCCDADBABBACA 83.请编写函数fun,它的功能是: 将字符串尾部的*号全部删除,前面和中间的*号不删除。 删除串尾*号 while(*a! ='\0')a++; a--; while(*a=='*')a--; *(a+1)='\0'; for(i=0;i if(strcmp(ss[i],t)==0)returni; if(n==-1)printf("\nDon'tfound! \n"); a2=k/10; returni; DDABCBCCCCDACDDBBADCDCADB BADCDDABCDBBACD 45.请编写函数fun,它的功能是: 只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。 删除前导和尾部* inti,j=0; for(i=h;i a[j++]=a[i]; a[j]=‘\0’; strlen(ss[i]) substr 0 fun(intx,inty,intz) returnj; ABCDCDABDABBADCDAABCABCDADCCCCADDCDBBACC 88.请编写函数fun,它的功能是: 除了字符串前导的*号之外,将串中其他*号全部删除。 除前导*外删除其他* inti=0;char*p=a; while(*p&&*p=='*'){a[i]=*p;i++;p++;} while(*p) {if(*p! =’*’){a[i]=*p;i++;}p++;} a[i]='\0'; for(i=0;i if(len<=k) strcpy(ss[j++],ss[i]); intk=0; while(*p||*q) CCABDBBADCDACBACADDACCCADBDCDA BACDDSCBBAD 95.请编写函数fun,它的功能是: 使字符串的前导*号不得多于n个 前导*不多于n个 inti=0,k=0;char*p,*t;p=t=a; while(*t=='*'){k++;t++;} if(k>n){while(*p) {a[i]=*(p+k-n);i++;p++;} a[i]='\0';} voidfun(char(*ss)[M],intk) while(i ss[i][k]=0;i++;} t=1; return(2*s); ABDCDBBADCBDDADBBDAACDADDBBDACBDCADBDADB 36.请编写函数fun,它的功能是: 将字符串中的前导*号全部移到字符串的尾部。 串前*移至串尾 inti=0,n=0;char*p;p=a; while(*p=='*'){n++;p++;} while(*p){a[i]=*p;i++;p++;} while(n! =0){a[i]='*';i++;n--;} a[i]='\0'; voidfun(int(*t)[N] t[i][j]=t[i][j]+t[j][i]; t[j][i]=0; #defineFU(m,n)(m)/(n) return(value); BBCDDACBBDDACDDCCCDDDABBACBADDDDBADBBADD 43.编写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址 (用****作为结束输入的标志)。 char*p=a[0];inti; for(i=1;i if(strlen(a[i])>strlen(p)) p=a[i]; *max=p; voidfun(int(*a)[N]) for(j=i;j a[k][i]=a[k][N-i-1]=i+1; aa[i]=m%k; printf("%d",aa[i-1]); BADDDADDCDBBACCCDDADCBBAB BBCDCCBDACBCDAC 类型二: 套用公式计算型 8.编写函数fun,函数的功能是: 根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 s=1+1/(1+2)+1/(1+2+3)+.......+1/(1+2+3+4+......+n), 若n的值为11时,函数的值为1.833333。 inti,sum=1;floats=1; for(i=2;i<=n;i++){sum=sum+i;s=s+1.0/sum;} returns; for(i=0;s[i]! =0;i++) n=0; s[j+1]=c; doublesum=0.0; sum/=c; CDDBABACCDADDCCCBBACBCACA DDACA 92.请编写函数fun,它的功能是计算: s=(ln (1)+ln (2)+1n(3)+…+ln(m))0.5s作为函数值返回。 若m的值为20,则fun函数值为6.506583。 doublei;doubler,s;doublelog(doublei); for(i=1;i<=m;i++){r=r+log(i);} return(sqrt(r)); t[0][N-j-1]=t[j][0]; for(j=N-1;j>=0;j--) t[j][N-1]=r[j]; doublef(doublex) returns; BADBCCCBADBACDADDCBCBBDAC BBACABCCADACCAABACCA 68.请编写函数fun,其功能是: 计算并输出下列多项式值: Sn=1+1/1! +1/2! +1/3! +1/4! +…+1/n! 若主函数从键盘给n输入15,则输出为s=2.718282。 doublet,sn=1.0;inti,j; for(i=1;i {t=1.0;for(j=1;j<=i;j++)t*=j;sn+=1.0/t;} returnsn; f=1.0; t*=(-1)*x/n; f+=t; for(i=1;i<=3;i++) if((k>=1&&k<=6)&&(i! =0&&j! =0)||k==0) ABBACCDADDBBADCBBACDCDADD CCADDCBBADBBADD 100.请编写函数fun,其功能是: 计算并输出 S=1+(1+2^0.5)+(1+2^0.5+3^0.5)+……+ (1+2^0.5+3^0.5+……+n^0.5) 输入20后,则输出为s=534.188884。 inti;doubles=0.0,s1=0.0; for(i=1;i<=n;i++) {s1=s1+pow(i,0.5);s=s+s1;} returns; t=(a>b)? (b>c? b: (a>c? c: a)): ((a>c)? a: ((b>c)? c: b)); c=c+32; c=c+5; ADDBCABCBABBDACBBCADACABB AABACBBADBD 90.请编写函数fun,其功能是: 计算并输出下列多项式值: Sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)1/2n) 若输入8后,则输出为S=0.662872。 inti;doublesum=0.0; if(n>1&&n<=100) {for(i=1;i<=n;i++) sum+=1.0/(2*i-1)-1.0/(2*i); for(j=a[i]*2;j<=n;j+=a[i]) while(a[i]==0) if(a[i]! =0) sum=0;j=0; if(sum%4==2) BDCBDDCACDCDDBDCCBACBBADCBACAD ABDACDBCAD 70.编写函数fun,它的功能是: 计算并输出下列级数和: S=1/1*2+1/2*3+...+1/n(n+1) n=10时,函数值为0.9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 考试 上机 题库