计算机二级C上机考试题库.docx
- 文档编号:5982213
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:26
- 大小:34.64KB
计算机二级C上机考试题库.docx
《计算机二级C上机考试题库.docx》由会员分享,可在线阅读,更多相关《计算机二级C上机考试题库.docx(26页珍藏版)》请在冰豆网上搜索。
计算机二级C上机考试题库
2013年计算机二级考试C语言上机题库
类型一:
调整一个数的个、十、百、千位
1.请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12,调用该函数后c=4152。
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);
填空:
STYPEFILEFp
改错:
for(i=0;i<=sl;i++)把s后字母改为小写L
t[2*sl]='\0';
2.请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
例如,当a=45,b=12,调用该函数后c=1524。
*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);
填空:
*fwstrstr
改错:
voidfun(longs,long*t)
sl=sl*10;
3.请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。
例如,当a=45,b=12,调用该函数后c=2514。
*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);
填空:
fpfclose(fp)fname
改错:
for(i=j+1;i<=n-1;i++)
p=i;
4.请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12,调用该函数后c=5142。
*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
填空:
*nnexthead
改错:
a=NULL;
if(*r==*p)
5.请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。
例如,当a=45,b=12,调用该函数后c=5241。
*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);
填空:
kN-1temp
改错:
fun(inta[][M],intm)
a[j][k]=(k+1)*(j+1);
6.请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。
例如,当a=45,b=12,调用该函数后c=2415。
*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
填空:
structstudent*a->score[i]a
改错:
char*fun(char(*sq)[M])
returnsp;
7.请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。
例如,当a=45,b=12,调用该函数后c=1425。
*c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10);
填空:
0xt++
改错:
inti,s1;s后面是小写的L
t[i]=s[sl-i-1];
8.请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。
例如,当a=45,b=12,调用该函数后c=4251。
*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);
填空:
1si*10
改错:
intfun(intn,intxx[][M])
printf("%4d",xx[i][j]);
类型二:
与*号有关的操作
9.请编写函数fun,它的功能是:
将字符串中的前导*号全部删除,中间和尾部的*号不删除。
删除前导*号
intj=0;char*p=a;
while(*p=='*')p++;
while(*p){a[j++]=*p;p++;}
a[j]=’\0’;
填空:
[N]t[i][j]t[j][i]
改错:
#defineFU(m,n)((m)/(n))
return(value);
10.请编写函数fun,它的功能是:
除了尾部的*号之外,将字符串中其他*号全部删除。
形参p已指向字符串中最后的一个字母。
除尾部*号,其余*删除
char*q=a;intj=0;
while(*q&&q
='*')a[j++]=*q;q++;}
while(*p)a[j++]=*p++;a[j]=‘\0‘;
填空:
t[][N]i=0;i 改错: intfun(inta[],intm) elseif(m>a[mid]) 11.请编写函数fun,它的功能是: 除了字符串前导和尾部的*号之外,将串中其他*号全部删除。 只删除中间*号 intj=0;char*q=a; while(*q&&q while(*h&&*p&&h {if(*h! ='*')a[j++]=*h;h++;} while(*p)a[j++]=*p++; a[j]=0; 填空: sum=0t[i][i]1 改错: doubler;while(fabs(m-n)>0.001) 12.请编写函数fun,它的功能是: 删除字符串中所有的*号。 删除串中所有*号 intj=0;char*p=a; while(*p) {if(*p! ='*')a[j++]=*p;p++;} a[j]=’\0’; 填空: 1j++j 改错: t=a;a=b;b=t; return(b); 13.请编写函数fun,它的功能是: 将字符串尾部的*号全部删除,前面和中间的*号不删除。 删除串尾*号 char*p=a; while(*p)p++;p--; while(*p=='*')p--; p++; *p=0; 填空: Ni-1 改错: a2=k/10;returni; 14.请编写函数fun,它的功能是: 除了字符串前导的*号之外,将串中其他*号全部删除。 除前导*外其他删除* inti=0,k; while(a[i]=='*')i++; k=i; while(a[i]! ='\0'){if(a[i]! ='*')a[k++]=a[i];i++;} a[k]='\0'; 填空: Nkss[i] 改错: intk=0;while(*p||*q) 15.请编写函数fun,它的功能是: 只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。 删除前导和尾部* char*p=a;intj=0,len=0; while(*p){p++;len++;} while(j 填空: Nsubstr0 改错: fun(intx,inty,intz)returnj; 16.请编写函数fun,它的功能是: 使字符串中尾部的*号不得多于n个 串尾部*号不多于n个 char*p=a;intj=0; while(*p)p++;p--; while(*p=='*')p--;p++; while(j 填空: a[i]%2a[j]j 改错: fun(intn)if(n==1) 17.请编写函数fun,它的功能是: 使字符串的前导*号不得多于n个 前导*不多于n个 inti=0,j,k=0; while(a[k]=='*')k++; if(k>n) {i=n;j=k; for(;a[j]! =0;j++)a[i++]=a[j]; a[i]=0;} 填空: MN0 改错: t=1;return(2*s); 18.请编写函数fun,它的功能是: 将字符串中的前导*号全部移到字符串的尾部。 串前*移至串尾 char*p,*q;intn=0;p=a; while(*p=='*'){n++;p++;} q=a; while(*p){*q=*p;p++;q++;} for(;n>0;n--)*q++='*'; *q='\0'; 填空: ab.namescore[i] 改错: s[j++]=s[i];s[j]=0; 19.编写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址 (用****作为结束输入的标志)。 inti,k=0,maxlen; maxlen=strlen(a[k]); for(i=1;i {if(strlen(a[i])>maxlen) {maxlen=strlen(a[i]);k=i;}} *max=a[k]; 填空: [N]ii+1 改错: aa[i]=m%k;printf("%d",aa[i-1]); 类型三: 与下标或ASCII码有关 20.请编写一个函数fun,它的功能是: 将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 下标奇数位置子母改大写 inti; for(i=1;i { if(ss[i]>='a'&&ss[i]<='z')ss[i]-=32; } 填空: kNa[k][i] 改错: for(i=strlen(t)-1;i;i--) if(t[j]>t[j+1]) 21.请编写—个函数voidfun(char*ss),其功能是: 将字符串ss中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 下标奇数位置子母改大写 char*p=ss;inti=0; while(*p){ if((i%2)&&(*p>='a'&&*p<='z'))*p-=32; p++;i++;} returnss; 填空: NULLnhead,ch 改错: for(i=0,t=0;p[i];i++) c[t]='\0'; 22.请编写函数fun,其功能是: 将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。 下标为偶数字符删除 inti,j=0; for(i=1;i t[j]=0; 填空: datanexthead 改错: while(*r) *a=*r;a++;r++; 23.编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。 除首尾外其余ASCII码降序 chart;inti,j; for(i=1;i for(j=i+1;j if(s[i] {t=s[i];s[i]=s[j];s[j]=t;} 填空: ss[i]n+j1 改错: if(*p=='') *(p-1)=toupper(*(p-1)); 24.请编写函数fun,其功能是: 将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 ASCII码值为偶数删除 inti,j=0; for(i=0;i if(s[i]%2)t[j++]=s[i]; t[j]=0; 填空: STUstd[i].numstd[i] 改错: r++;p++;if(*r==0) 25.请编写函数fun,其功能是: 将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 ASCII值为奇数删除 inti,j=0; for(i=0;i t[j++]=s[i]; t[j]=0; 填空: s[i]k'\0' 改错: while(*w)if(*r==*p) 26.请编写函数fun,其功能是: 将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除 除下标偶数同时ASCII码值偶数之外其余全部删除 inti,j=0; for(i=0;i if(s[i]%2==0)t[j++]=s[i]; t[j]=’\0‘; 填空: ”r”fsft 改错: if(d%2==0) s/=10; 27.请编写函数fun,其功能是: 将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除 除下标奇数同时ASCII码也为奇数外其余字符删除 inti,j=0; for(i=1;i if(s[i]%2)t[j++]=s[i]; t[j]=0; 填空: 0i++2.0*i 改错: voidfun(char*s,char*t) t[2*d]=0; 28.请编写函数fun,其功能是: 将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。 将下标为偶数同时ASCII码为奇数删除 inti,j=0; for(i=0;i if(! ((i%2)==0&&(s[i]%2)))t[j++]=s[i]; t[j]=0; 填空: jkp 改错: while(i 103.请编写函数fun,函数的功能是查找x在s所指数组中下标的位置作为函数值返回,若x不存在,则返回-1 inti; for(i=0;i return-1; 填空: i%5\na[i] 改错: return t; for(i=0;i x[i+1]=findmid(a,b,c); 类型四: 数组和矩阵操作 29.请编写函数fun,该函数的功能是: 移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。 下标0-p移到数组最后 inti,j=0,b[N]; for(i=p+1;i for(i=0;i<=p;i++)b[j++]=w[i]; for(i=0;i 填空: p->nextqp->next 改错: while(*s)s++; 30.请编写函数fun,该函数的功能是: 删去一维数组中所有相同的数,使之只剩一个。 删除一维数组相同的数 inti,t,j=1,*p=a;t=p[0]; for(i=0;i<=n;i++) if(t==p[i])break;}else{a[j]=t;t=p[i];j++;} if(i>=n)a[j]=t; returnj; 填空: FILE*fclose(fp)fp 改错: t=(STU*)calloc(sizeof(STU),m);t[k]=b[j]; 31.请编写一个函数fun,它的功能是: 找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。 找出一维数组最大值及其下标 inti; *max=a[0];*d=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 上机 考试 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)