计算机二级c语言上机题库.第1套填空题longfun(intn){if(___1___)return(n*fun(___2___));第1处填空:n1或1n第2处填空:n-1第3处填空:1或11或1L改错题第1处:Isprime(intn);应改为Isprime(intn)第2处:if!(n%i)应该为if(!(n%i))编程题intfun(intscore[],intm,intbelow[]){intI,k=0,aver=0;for(i=0;im;i++)aver+=score[i];aver/=m;for(i=0;im;i++)if(score[i]aver){below[k]=score[i];k++;}returnk;}第2套填空题if(___1___)return0;elseif(___2___)return1;elsereturn___3___;}第1处填空:n==0或0==n或!n第2处填空:n==1或1==n第3处填空:fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)改错题第1处:intk=1应改为intk=0;第2处:while(*p!=*q)应改为while(*p||*q)编程题答案是:voidfun(int*a,int*n){inti,j=0;for(i=2;i1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}第3套填空题for(i=0;in;i++,___1___){t=s[i];___2___;___3___;}}第1处填空:n--或--n或n-=1或n=n-1第2处填空:s[i]=s[n]或*(s+i)=*(s+n)第3处填空:s[n]=t或*(s+n)=t改错题第1处:s[j]=s[i];应改为s[j++]=s[i]第2处:s[j]=”/0”;应改为s[j]=’\0’;编程题voidfun(intx,intpp[],int*n){inti=1,j=0,k=0,*t=pp;for(i=0;i=x;i++)if(i%2!=0){t[j]=i;j++;}for(i=0;ij;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}第4套填空题for(i=1;___1___;i++)if(i%3==0___2___i%7==0)sum+=___3___/i;returnsum;第1处填空:i=n或n=i第2处填空:||第3处填空:1.0或(double)1改错题第1处:voidfun(char*s,inta,intb)应改为voidfun(char*s,int*a,int*b)第2处:a++;应改为(*a)++;第3处:b++;应改为(*b)++;编程题voidfun(char*tt,intpp[]){intI;for(i=0;i26;i++)pp[i]=0;while(*tt){switch(*tt){case’a’:pp[0]++;break;case’b’:pp[1]++;break;case’c’:pp[2]++;break;case’d’:pp[3]++;break;case’e’:pp[4]++;break;case’f’:pp[5]++;break;case’g’:pp[6]++;break;case’h’:pp[7]++;break;case’i’:pp[8]++;break;case’j’:pp[9]++;break;case’k’:pp[10]++;break;case’l’:pp[11]++;break;case’m’:pp[12]++;break;case’n’:pp[13]++;break;case’o’:pp[14]++;break;case’p’:pp[15]++;break;case’q’:pp[16]++;break;case’r’:pp[17]++;break;case’s’:pp[18]++;break;case’t’:pp[19]++;break;case’u’:pp[20]++;break;case’v’:pp[21]++;break;case’w’:pp[22]++;break;case’x’:pp[23]++;break;case’y’:pp[24]++;break;case’z’:pp[25]++;break;}tt++;}}第5套填空题return3.14159*___1___/2.0;}main(){doublex;printf(Enterx:);scanf(%lf,___2___);printf(s=%lf\n,fun(___3___));}第1处填空:r*r第2处填空:&x第3处填空:x改错题第1处:a[i+1]=a[i];应改为a[i]=a[i+1]编程题voidfun(intm,intk,intxx[]){intg=0,I,j,flag=1;for(i=m+1;im*m;i++){for(j=2;jI;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if(flag==1&&j=i){if(k=0){xx[g++]=I;k--;}elsebreak;}}}第6套填空题while(s___1___q){s=s+(double)(n+1)/n;___2___;}printf(n=%d\n,n);___3___;}main(){printf(%f\n,fun(50));}第1处填空:=第2处填空:n++或n+=1或n=n+1第3处填空:returns或return(s)改错题第1处:for(i=2;im;i++)应改为for(i=2;i=m;j++)第2处:y-=1/(i*i);应改为y-=1.0/(i*i)编程题voidfun(chara[],charb[],intn){intI,j=0;for(i=0;iLEN;i++)if(i!=n){b[j]=a[i];j++;}b[j]=’\0’;}第7套填空题switch(___1___){case1:c1++;___2___;case2:c2++;___3___;case3:c3++;}n/=10;}}main(){longn=123114350L;fun(n);printf(\nTheresult:\n);printf(n=%ldc1=%dc2=%dc3=%d\n,n,c1,c2,c3);}第1处填空:n%10第2处填空:break第3处填空:break改错题第1处:p=j应改为p=j;第2处:p=i应改为p=j;编程题voidfun(int*s,intt,int*k){intI,max;max=s[0];for(i=0;it:i++)if(s[i]max){max=s[i];*k=I;}}第8套填空题scanf(%d,___1___);max=___2___num[i]:max;}while(___3___);printf(max=%d\n,max);}第1处填空:&num[i]或num+i第2处填空:maxnum[i]?或num[i]max?第3处填空:num[i]!=0或0!=num[i]改错题第1处:voidfun(char*p);应改为voidfun(char*p)第2处:p=q+I;应改为q=p+i;编程题floatfun(intn){inti;floats=1.0,t=1.0;for(i=2;i=n;i++){t=t+i;s=s+1/t;}returns;}第9套填空题if(*s='A'&&*s='Z')___1___;if(*s='a'&&*s='z')___2___;s++;}}main(){chars[100];intupper=0,lower=0;printf(\nPleaseastring:);gets(s);fun(s,&upper,&lower);printf(\nupper=%dlower=%d\n,___3___);}第1处填空:(*a)++或++(*a)或*a=*a+1或*a+=1第2处填空:(*b)++或++(*b)或*b=*b+1或*b+=1第3处填空:upper,lower改错题第1处:t=s[k];应改为t+=s[k];第2处:*aver=&ave;应改为*aver=ave;编程题floatfun(intm,intn){floatp,t=1.0;inti;for(i=1;i=m;i++)t=t*i;p=t;for(t=1.0,i=1;i=n;i++)t=t*i;p=p/t;for(t=1.0,i=1;i=m-n;i++)t=t*i;p=p/t;returnp;}第10套填空题mbersare:%d,%d,%d\n,a,b,c);if(ab)___1___;else___2___;if(maxc)___3___;printf(max=%d\n,max);}第1处填空:max=a第2处填空:max=b第3处填空:max=c改错题第1处:voidfun(char*s,*t1,*t2,*w)应改为voidfun(char*s,char*t1,char*t2,char*w)第2处:while(r)应改为while(*r)编程题floatfun(){floatx1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)=le-6);returnx1;}第11套填空题k=n-___1___;elsek=n-2;c=___2___;for(i=k-2;i=1;i=i-2)s[i+2]=s[i];s[1]=___3___;}main(){chars[80]=abcdefgh;printf(\nTheoriginalstringis:%s\n,s);fun(s);printf(\nTheresultis:%s\n,s);}第1处填空:1第2处填空:s[k]或*(s+k)第3处填空:c改错题第1处:n=*p-‘o’;应改为n=*p-‘0’;第2处:n=n*7+*p-‘o’;应改为n=n*8+*p-‘0’;编程题intfun(inta[][N]){inti,j;for(i=0;iN;i++)for(j=0;j=I;j++)a[i][j]=0;}第12套填空题if((tt[i]='A')&&(___1___))tt[i]+=___2___;}return(___3___);}main(){chartt[81];printf(\nPleaseenterastring:);gets(tt);printf(\nTheresultstringis:\n%s,fun(tt));}第1处填空:tt[i]=’z’或’z’=tt[i]第2处填空:32或’a’-‘A’第3处填空:tt改错题第1处:a=NULL;应改为a=NULL;第2处:if(r==p)应改为if(*r==*p)编程题doublefun(intw[][N]){inti,j,k=0;doubles=0.0;for(j=0;jN;j++){s+=w[0][j];k++;}for(j=0;jN;j++){s+=w[N-1][j];k++;}for(i=1;i=N-2;i++){s+=w[i][0];k++;}for(i=1;i=N-2;i++){s+=w[i][N-1];k+;}rturns/=k;}第13套填空题#includestdio.h___1___{inti,m;m=1;for(i=___2___;in;i++)if(___3___){m=0;break;}if(m==1&&n1)return(yes!);elsereturn(no!);}main(){intk=0;printf(Input:);scanf(%d,&k);printf(%s\n,fun(k));}第1处填空:char*fun(intn)第2处填空:2第3处填空:n%i==或!(n%i