二级C上机考试题目汇编.docx
- 文档编号:7017835
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:46
- 大小:29.93KB
二级C上机考试题目汇编.docx
《二级C上机考试题目汇编.docx》由会员分享,可在线阅读,更多相关《二级C上机考试题目汇编.docx(46页珍藏版)》请在冰豆网上搜索。
二级C上机考试题目汇编
一、改错题
题目1:
以下程序是用函数实现“冒泡法”对输入的n个字符按由小到大排列,并在主函数中调用。
请改错:
#include"stdio.h"
#include"string.h"
voidsort(charstr[],intn)
{inti,j;chart;
for(j=1;j for(i=0;i if(str[i] {t=str[i];str[i]=str[i+1];str[i+1]=t;} } main() {charstr[81]; intlen;gets(str); len=strlen(str); sort(str[],len);/*$ERROR3$*/ printf("Sortedstring: %s\n",str); } $1$for(i=0;i $2$if(str[i]>str[i+1]) $3$sort(str,len) 题目2: 下列程序的功能是: 根据整型形参n,计算如下公式的值。 请改错: A1=1,A2=1/(1+A1),A3=1/(1+A2),…….,An=1/(1+An_1)例如: 若n=10,则输出A10为0.617977。 #include"stdio.h" intfun(intn)/*$ERROR1$*/ {floata=0;/*$ERROR2$*/ inti; for(i=2;i<=n;i++) a=1/(1+a); returna; } main() {intn; printf("\nPleaseEnteravalueofn"); scanf("%d",&n); printf("A%d=%f\n",n,fun);/*$ERROR3$*/ } $1$floatfun(int) $2$floata=1; $3$printf("A%d=%f\n",n,fun(n)); 题目3: 以下程序分别在a数组和b数组中放入an+1和bn+1个由小到大的有序数,程序把两个数组中的数按由小到大的顺序归并到c数组中。 请改错: #include main() {inta[10]={1,2,5,8,9,10},an=5; intb[10]={1,3,4,8,12,18},bn=5; inti,j,k,c[20],max=9999; a[an]=b[bn]=max;/*$ERROR1$*/ i=j=k=0; while((a[i]! =max)&&(b[j]! =max))/*$ERROR2$*/ if(a[i] else{c[k]=b[k];k++;j++;}/*$ERROR3$*/ for(i=0;i printf("%4d",c[i]); printf("\n"); } $1$: a[an+1]=b[bn+1]=max; $2$: while((a[i]! =max)||(b[j]! =max)) $3$: else{c[k]=b[j];k++;j++;} 题目4: 以下程序判断输入的字符串是否“回文”(即顺读和倒读都一样,例如: LEVEL,a1221a)。 请改错: #include #include main() {chars[81]; inti,j,n; gets(s); n=strlen(s); i=0; j=n;/*$ERROR1$*/ while(s[i]=='')i++; while(s[j]=='')j--; while(i {i++;j--;} if(i>j)printf("No\n");/*$ERROR3$*/ elseprintf("Yes\n"); } $1$: j=n-1; $2$: while((i $3$: if(i 题目5: 以下程序将输入的数字字符序列转化成一个整数。 请改错: #include #include main() {charc[10]; inti=0,j; longk=0; gets(c); j=strlen(c); for(;i if(c[i]>='0'||c[i]<='9')/*$ERROR1$*/ k=k*10+c[i];/*$ERROR2$*/ printf("k=%d\n",k);/*$ERROR3$*/ } $1$: if(c[i]>='0'&&c[i]<='9') $2$: k=k*10+c[i]-'0'; $3$: printf("k=%ld\n",k); 题目6: 以下程序计算200以内的其平方具有回文性质的正整数的数目。 例如 11^2=121,111^2=12321都是满足条件的正整数。 请改错: #include sqrtest(intx) {ints,y; s=x*x; y=0; while(s) {y=y*10+s/10;/*$ERROR1$*/ s=s%10;/*$ERROR2$*/ } if(y! =x*x)return1;/*$ERROR3$*/ elsereturn0; } main() {intn,count=0; for(n=10;n<200;n++) if(sqrtest(n)){count++;printf("n=%3d,n*n=%d\n",n,n*n);} printf("count=%d\n",count); } $1$: {y=y*10+s%10; $2$: s=s/10; $3$: if(y==x*x)return1; 题目7: 以下程序将十进制正整数n转换成十六进制数,并存入字符串str中。 请改错: main() {unsignedn,h; inti=0; charstr[4]; printf("InputadecimalNumberton: "); scanf("%d",&n); do{h=n/16;/*$ERROR1$*/ str[i++]=(h<=9)? h+'0': h+'A'-10; n=n%16;/*$ERROR2$*/ } while(n); for(--i;i>=0;) printf("%s",str[i--]);/*$ERROR3$*/ printf("\n"); } $1$: {h=n%16; $2$: n=n/16; $3$: printf("%c",str[i--]); 题目8: 以下程序能够将字符串str1和字符串str2合并成一个新字符串str3。 请改错: #include main() {charstr1[30],str2[20],str[60]; inti=0,j=0; printf("Enterfirststring: "); gets(str1); printf("Entersecondstring: "); gets(str2); while(str1[i])str[i]=str1[i];i++;/*$ERROR1$*/ while(str2[j]){str[i++]=str2[j];i++;}/*$ERROR2$*/ str[i]="\0";/*$ERROR3$*/ printf("str=%s\n",str); } $1$: while(str1[i])str[i]=str1[i],i++;$1$: while(str1[i]){str[i]=str1[i];i++;} $2$: while(str2[j]){str[i++]=str2[j];j++;} $3$: str[i]='\0';$3$: str[i]=NULL; 题目9: 以下程序实现将字符串反向存储。 请改错: main() {charstr[70],ch,*p,*temp; printf("Enterstringtostr: "); scanf("%s",str); p=str; temp=str; while(temp)temp++;/*$ERROR1$*/ *temp--;/*$ERROR2$*/ while(p>temp)/*$ERROR3$*/ ch=*p,*p++=*temp,*temp--=ch; printf("string=%s\n",str); } $1$: while(*temp)temp++; $1$: while(*temp! ='\0')temp++; $1$: while(*temp! =0)temp++; $1$: while(*temp! =NULL)temp++; $2$: temp--; $3$: while(p 题目10: 随机输入10个数,选出其中的最大数。 请改错: 程序如下: main() {inti,max,a[10]; printf("input10number: \n"); for(i=0;i<=10;i++)/*$ERROR1$*/ scanf("%d",a[i]);/*$ERROR2$*/ max=a[0]; for(i=1;i<10;i++) if(a[i]>a[0])/*$ERROR3$*/ max=a[i]; printf("minnum=%d\n",max); } $1$for(i=0;i<=9;i++)$1$for(i=0;i<10;i++) $2$scanf("%d",&a[i]); $3$if(a[i]>max) 题目11: 下面程序的功能是输出a数组中的所有字符串。 请改错: main() {char*a[]={"Followme","Basic","TurboC","Fortran"}; char*p;/*$ERROR1$*/ p=a; while(p<=a+4)/*$ERROR2$*/ printf("%s\n",*(++p));/*$ERROR3$*/ } $1$: char**p; $2$:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 上机 考试 题目 汇编