最新最全二级c语言上机题105套参考答案.docx
- 文档编号:2057257
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:72
- 大小:26.76KB
最新最全二级c语言上机题105套参考答案.docx
《最新最全二级c语言上机题105套参考答案.docx》由会员分享,可在线阅读,更多相关《最新最全二级c语言上机题105套参考答案.docx(72页珍藏版)》请在冰点文库上搜索。
最新最全二级c语言上机题105套参考答案
第1套参考答案
1.程序填空题
(1)M
(2)<(3)k
2.程序改错题
(1)||改为 &&if((tt[i]>=’a’&&(tt[i]<=’z’))
(2)+改为-tt[i]-=32;
3.程序设计题
voidfun(intm,int*k,intxx[])
{
inti,j;
intn=0;
for(i=4;i { for(j=2;j if(i%j==0)break; if(j } *k=n; } 第2套题参考答案 1.程序填空题 (1)j++或j+=1,++j,j=j+1 (2)s[i]=t1[i](3)j 2.程序改错题 (1)将,改为;for(j=i+1;j<6;j++) (2)*(pstr+j)*(patr+i)=pstr+j; 3.程序设计题 intfun(char*ss,charc) { inti,n=0; for(i=0;ss[i]! ='\0';i++) if(ss[i]==c) n++; returnn; } 另一种写法 intfun(char*ss,charc) { inti=0; for(;*ss! ='\0';ss++) if(*ss==c) i++; returni; } 第3套参考答案 1.程序填空题 (1)&& (2)0或者‘\0’(3)s[j]或*(s+j) 2.程序改错题 (1)将<改为<=for(i=2;i<=m;i++) (2)将1改为1.0y+=1.0/(i*i);y+=(double)1/(i*i); 3.程序设计题 voidfun(inta[3][3],intb[3][3]) { inti,j; for(i=0;i<3;i++) for(j=0;j<3;j++) b[i][j]=a[i][j]+a[j][i]; } 第4套参考答案 1.程序填空题 (1)s[i] (2)‘9’(3)*t=n 2.程序改错题 (1)t=*x;*x=y; (2)returnt; 3.程序设计题 voidfun(int*a,int*n) { inti,k=0; for(i=1;i<1000;i++) if(((i%7==0)||(i%11==0))&&(i%77! =0)) a[k++]=i; *n=k; } 第5套参考答案 1.程序填空题 (1)1 (2)s[k]或*(s+k)(3)c 2.程序改错题 (1)longs=0,t=0; (2)t=t/10; 3.程序设计题 voidfun(char*tt,intpp[]) { inti; for(i=0;i<26;i++) pp[i]=0; for(i=0;tt[i]! ='\0';i++) if((tt[i]>='a')&&(tt[i]<='z')) pp[tt[i]-'a']++; }//tt[i]可以用*tt代替,i++可以用tt++代替,省略i=0 第6套参考答案 1.程序填空题 (1)t=i; (2)i(3)‘\0’或者0 2.程序改错题 (1)while(fabs(t)>=num) (2)t=s/n; 3.程序设计题 voidfun(chara[],charb[],intn) { inti,j=0; for(i=0;a[i]! =0;i++) if(i! =n) b[j++]=a[i]; b[j]='\0'; } 第7套参考答案 1.程序填空题 (1)‘\0’ (2)0(3)c 2.程序改错题 (1)doublesum=0.0; (2)sum/=c; 3.程序设计题 floatfun(intn) { inti,t=0; floats=0.0; for(i=1;i<=n;i++) { t=t+i; s=s+1.0/t; } returns; } 第8套参考答案 1.程序填空题 (1)i++ (2)m(3)m 2.程序改错题 (1)while((high>=2)&&(n<10))//丢了括号 (2)break;//丢了分号 3.程序设计题 doublefun() { doublex1=0.0,x0; do { x0=x1; x1=cos(x0); }while(fabs(x0-x1)>=0.000001); returnx1; } 第9套参考答案 1.程序填空题 (1)N (2)N-1(3)0 2.程序改错题 (1)s=s+(double)(n+1)/n (2)returnt; 3.程序设计题 intfun(intt) { intf0=0,f1=1,f; do { f=f0+f1; f0=f1; f1=f; }while(f returnf; } 第10套参考答案 1.程序填空题 (1)0 (2)j--(3)j 2.程序改错题 (1)doublef(doublex) (2)returns; 3.程序设计题 doublefun(intm) { doubles=0.0,t=0.0; inti; for(i=1;i<=m;i++) t=t+log(i); s=sqrt(t); returns; } 第11套参考答案 1.程序填空题 (1)N (2)t[i][j](3)t[j][i] 2.程序改错题 (1)(m)/(n) (2)value 3.程序设计题 voidfun(char*a) { char*p=a; inti=0; while(*p! ='\0'&&*p=='*') { p++; } while(*p! ='\0') { a[i++]=*p; p++; } a[i]='\0'; } 另一种解法,用指针 voidfun(char*a) { char*p=a; while(*p=='*')p++; for(;*p! ='\0';p++,a++) *a=*p; *a='\0'; } 第12套参考答案 1.程序填空题 (1)t[][N] (2)i=0;i 2.程序改错题 (1)intfun(…) (2)elseif(m>a[mid]) 3.程序设计题 voidfun(char*a,char*p) { char*t=a; inti=0; for(;t<=p;t++) if(*t! ='*') a[i++]=*t; for(;*t! =0;t++) a[i++]=*t; a[i]='\0'; } 另一种用指针 voidfun(char*a,char*p) { char*t=a; for(;t<=p;t++) if(*t! ='*') *(a++)=*t; for(;*t! =0;t++) *(a++)=*t; *a='\0'; } 第13套参考答案 1.程序填空题 (1)sum=0; (2)t[i][i](3)1 2.程序改错题 (1)doubler; (2)while(fabs(n-m)>0.001) 3.程序设计题 voidfun(char*a,char*h,char*p) { inti=0; char*q=a; while(q {a[i]=*q;i++;q++;} while(q<=p) { if(*q! ='*') { a[i]=*q;i++; } q++; } while(*q) {a[i]=*q;i++;q++;} a[i]=0; } 第14套参考答案 1.程序填空题 (1)1 (2)j++(3)j 2.程序改错题 (1)t=a;a=b;b=t; (2)returnb; 3.程序设计题 voidfun(char*a) { inti=0; char*p=a; while(*p) { if(*p! ='*') a[i++]=*p; p++; } a[i]=0; } 另一种用for循环 voidfun(char*a) { inti,j=0; for(i=0;a[i]! =\0’;i++) { if(a[i]! ='*') a[ij++]=a[i]; } a[j]=0; } 第15套参考答案 1.程序填空题 (1)a[i]%2==0 (2)a[j](3)j 2.程序改错题 (1)intfun(intn) (2)if(n==1) 3.程序设计题 voidfun(char*a,intn) { inti=0,j=0; char*p=a,*q=a; while(*p) p++; p--; while(*p=='*') { i++; p--; } if(i>n) { while(*q&&q<(p+n+1)) { a[j++]=*q; q++; } a[j]=’\0’; } 第16套参考答案 1.程序填空题 (1)a[i] (2)a[j](3)a[j] 2.程序改错题 (1)去掉分号 (2)case1: case2: return1; 3.程序设计题 voidfun(STREC*a) { inti; doublesum=0.0,average; for(i=0;i sum=sum+a->s[i]; average=sum/N; a->ave=average; } 第17套参考答案 1.程序填空题 (1)a[] (2)2(3)i+1 2.程序改错题 (1)sum=0.0 (2)if((i+1)%5==0) 3.程序设计题 doublefun(STREC*a,STREC*b,int*n) { doublesum=0.0,ave; inti,j=0; for(i=0;i sum=sum+a[i].s; ave=sum/N; for(i=0;i if(a[i].s b[j++]=a[i];//结构体整体赋值 *n=j; returnave; } 第18套参考答案 1.程序填空题 (1)1 (2)i(3)a[p+i] 2.程序改错题 (1)floatk; (2)if(*a<*c) 3.程序设计题 intfun(STREC*a,STREC*b) { intmax,i,j=0; max=a[0].s; for(i=1;i if(a[i].s>max) max=a[i].s; for(i=0;i if(a[i].s==max) b[j++]=a[i]; returnj; } 第19套参考答案 1.程序填空题 (1)char (2)ch=’9’(3)‘0’ 2.程序改错题 (1)b[k]=*p (2)b[k++]=“”;或者b[k]=”“;k++; 3.程序设计题 doublefun(STREC*h) { doublesum=0,ave; STREC*p=h->next; while(p! =NULL) { sum=sum+p->s; p=p->next; } ave=sum/N; returnave; } 第20套参考答案 1.程序填空题 (1)n/2 (2)i(3)a[n-1-i] 2.程序改错题 (1)n=*-‘0’ (2)n=n*8+p-‘0’; 3.程序设计题 STRECfun(STREC*a,char*b) { inti; STRECstr={"\0",-1}; for(i=0;i<16;i++) if(strcmp(a[i].num,b)==0) str=a[i]; returnstr; } 第21套参考答案 1.程序填空题 (1)999 (2)t/10(3)x 2.程序改错题 (1)voidfun(longs,long*t) (2)while(s>0) 3.程序设计题 voidfun(STRECa[]) { inti,j,k; STRECt; for(i=0;i { k=i; for(j=i+1;j if(a[j].s>a[k].s) k=j; if(k! =i) {t=a[i];a[i]=a[k];a[k]=t;} } } 第22套参考答案 1.程序填空题 (1)0 (2)x(3)t++ 2.程序改错题 (1)inti,s1; (2)s[s1-i-1] 3.程序设计题 voidfun(inta,intb,long*c) { *c=(a/10)*100+(a%10)*1+(b/10)*1000+(b%10)*10; } 第23套参考答案 1.程序填空题 (1)0 (2)x*10(3)n/10 2.程序改错题 (1)*t=0; (2)if(d%2==1) 3.程序设计题 voidfun(charp1[],charp2[]) { inti,j; for(i=0;p1[i]! ='\0';i++) ; for(j=0;p2[j]! ='\0';j++) p1[i+j]=p2[j]; p1[i+j]='\0'; } 第24套参考答案 1.程序填空题 (1)1 (2)s>0(3)i*10 2.程序改错题 (1)intfun(intn,intxx[][M]) (2)printf("%d",xx[i][j]); 3.程序设计题 voidfun(inta,intb,long*c) { *c=(a/10)*1000+(a%10)*10+(b/10)*1+(b%10)*100; } 第25套参考答案 1.程序填空题 (1)0.0 (2)n(3)(t*t) 2.程序改错题 (1)for(i=0;str[i]! ='\0';i++) (2)if(substr[k+1]=='\0') 3.程序设计题 doublefun(doubleeps) { doubles=1,p1=1,p2=1,t=1; inti=1; while(t>eps) { p1=p1*i; p2=p2*(2*i+1); t=p1/p2; s=s+t; i++; } return2*s; } 第26套参考答案 1.程序填空题 (1)10 (2)0(3)x 2.程序改错题 (1)if(n==0) (2)result=result*(n--);orresult*=n--; 3.程序设计题 longfun(char*p) { longn=0; intflag=1,m; if(*p=='-') { p++;flag=-1; } elseif(*p=='+') { p++; } while(*p! =0) { m=*p-'0'; n=n*10+m; p++; } n=flag*n; returnn; } 第27套参考答案 1.程序填空题 (1)(double)(2*k+1)or(double)3 (2)>(3)(t+1) 2.程序改错题 (1)doublefun(intn)//教材没错,原题是void (2)s=s+(double)a/b; 3.程序设计题 intfun(inta[][M]) { inti,j,max; max=a[0][0]; for(i=0;i<2;i++) { for(j=0;j if(a[i][j]>max) max=a[i][j]; } returnmax; } 第28套 1.程序填空题 (1)1 (2)i*2(3)-1 2.程序改错题 (1)k++;//丢了分号 (2)if(m==k) 3.程序设计题 voidfun(inta[],intn,int*max,int*d) { inti; *max=a[0];*d=0; for(i=1;i if(a[i]>*max) {*max=a[i];*d=i;} } 第29套 1.程序填空题 (1)0 (2)i++((2.0*i)*(2.0*i)) 2.程序改错题 (1)voidfun(char*s,char*t) (2)t[2*d]='\0'; 3.程序设计题 voidfun(char*s,chart[]) { inti,j=0,n; n=strlen(s); for(i=0;i if(i%2! =0&&s[i]%2! =0) t[j++]=s[i]; t[j]='\0'; } 第30套 1.程序填空题 (1)s[i] (2)k(3)‘\0’ 2.程序改错题 (1)while(*w)//原题无* (2)if(*r==*p) 3.程序设计题 voidfun(char*s,chart[]) { inti,j=0,n; n=strlen(s); for(i=0;i if(s[i]%2==0) t[j++]=s[i]; t[j]=0; } 第31套参考答案 1.程序填空题 (1)k (2)N(3)a[k][i] 2.程序改错题 (1)for(i=strlen(t)-1;i;i--)//教材正确 (2)if(t[j]>t[j+1]) 3.程序设计题 voidfun(char*ss) { inti,j,n; n=strlen(ss); for(i=0;i if(i%2==1&&ss[i]>='a'&&ss[i]<='z') ss[i]=ss[i]-32; } 第32套参考答案 1.程序填空题 (1)k (2)N-1(3)temp 2.程序改错题 (1)voidfun(inta[][M],intm) (2)a[j][k]=(k+1)*(j+1); 3.程序设计题 voidfun(inta,intb,long*c) { *c=(a/10)*10+(a%10)*1000+b/10+(b%10)*100; } 第33套参考答案 1.程序填空题 (1)j (2)0(3)i++ 2.程序改错题 (1)for(i=2;i<=m;i++) (2)y-=1.0/(i*i); 3.程序设计题 intfun(intscore[],intm,intbelow[]) { doublesum=0.0,ave; inti,j=0; for(i=0;i sum=sum+score[i]; ave=sum/m; for(i=0;i if(score[i] below[j++]=score[i]; returnj; } 第34套参考答案 1.程序填空题 (1)t,s (2)s[i](3)‘\0’ 2.程序改错题 (1)if(i%k==0) (2)if(k==i) 3.程序设计题 voidfun(intx,intpp[],int*n) { inti,j=0; for(i=1;i if(x%i==0&&i%2==1) pp[j++]=i; *n=j; } 第35套参考答案 1.程序填空题 (1)s (2)--(3)return0 2.程序改错题 (1)doublefun(intn) (2)s=s+(double)a/b; 3.程序设计题 voidfun(intm,intk,intxx[]) { inti,j; m=m+1; j=0; while(j {for(i=2;i if(m%i==0) break; if(m==i) { xx[j]=i;j++; } m++; } } 另一种用for循环编写的 voidfun(intm,intk,intxx[]) { inti,j,n; for(i=m+1,n=0;n {for(j=2;j if(i%j==0) break; if(i==j)xx[n++]=i; } } 第36套参考答案 1.程序填空题 (1)n++ (2)0(3)s++ 2.程序改错题 (1)t=t+s[k];ort+=s[k] ; (2)*aver=ave; 3.程序设计题 intfun(int*s,intt,int*k) { inti,max; max=s[0];*k=0; for(i=1;i if(s[i]>max) {*k=i; max=s[i]; } } 第37套参考答案 1.程序填空题 (1)*s (2)s++(3)n 2.程序改错题 (1){//丢了函数的括号 (2)if(x[j]>=xa)//不是=> 3.程序设计题 floatfun(intm,intn) { inti,j,k,t; floatp1=1,p2=1,p3=1; floatp; if(m {t=m;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 二级 语言 上机 105 参考答案