全国二级考试计算机-二级C上机考试题库
- 格式:doc
- 大小:195.50 KB
- 文档页数:13
精品文档
. 类型一:调整一个数的个、十、百、千位
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);
填空:STYPE FILE Fp
改错: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);
填空:*fw str str
改错:void fun(long s,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);
填空:fp fclose(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);
填空:"r" fs ft
改错:if (d%2==0)
s /= 10;
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);
填空:k N-1 temp
改错:fun(int a[][M], int m)
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;
填空:struct student * a->score[i] a
改错:char *fun(char (*sq)[M])
return sp;
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);
填空:0 x t++
改错:int i,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);
填空:1 s i*10
改错:int fun(int n,int xx[][M])
printf("%d ",xx[i][j]);
类型二:与*号有关的操作
9.请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。
删除前导*号
int j=0; char *p = a ;
while(*p == '*') p++ ;
while(*p) { a[j++] = *p ; p++; }
a[j]=0 ;
填空:[N] t[i][j] t[j][i]
改错:#define FU(m,n) ((m)/(n))
return(value); 10.请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。
除尾部*号,其余*删除
char *q=a; int j=0;
while(*q && q
while(*p) a[j++]=*p++; a[j]=0;
填空:t[][N] i=0;i
改错:int fun(int a[],int m)
else if(m > a[mid]) 精品文档
. 11.请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
只删除中间*号
int j=0; char *q=a;
while(*q && q < h) a[j++] = *q++ ;
while(*h && *p && h < p)
{ if(*h != '*') a[j++] = *h ; h++; }
while(*p) a[j++] = *p++ ;
a[j] = 0 ;
填空:sum=0 t[i][i] 1
改错:double r;
while(fabs(m-n)>0.001) 12.请编写函数fun,它的功能是:删除字符串中所有的*号。
删除串中所有*号
int j =0 ; char *p=a;
while(*p)
{if(*p != '*') a[j++]=*p ; p++ ; }
a[j]=0;
填空:1 j++ j
改错:t=a;a=b;b=t;
return(b);
13.请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
删除串尾*号
char *p = a ;
while(*p) p++ ; p-- ;
while(*p == '*') p-- ;
p++ ;
*p = 0 ;
填空:N i -1
改错:a2=k/10;
return i; 14.请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。
除前导*外其他删除*
int i=0,k;
while(a[i]=='*') i++;
k=i;
while(a[i]!='\0') { if(a[i] != '*') a[k++]=a[i]; i++; }
a[k]='\0';
填空:N k ss[i]
改错:int k=0;
while( *p || *q )
15.请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。
删除前导和尾部*
char *p=a ; int j=0,len=0;
while(*p) {p++; len++;}
while(j
填空:N substr 0
改错:fun(int x,int y, int z)
return j; 16.请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个
串尾部*号不多于n个
char *p=a ; int j=0;
while(*p) p++; p--;
while(*p == '*') p--; p++;
while(j
填空:a[i] % 2 a[j] j
改错:fun (int n)
if(n==1)
17.请编写函数fun,它的功能是:使字符串的前导*号不得多于n个
前导*不多于n个
int i=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; }
填空:M N 0
改错:t=1;
return(2*s); 18.请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
串前*移至串尾
char *p,*q; int n=0; p=a;
while(*p=='*') {n++; p++;}
q=a;
while(*p) { *q=*p; p++;q++; }
for(;n>0;n--) *q++='*';
*q='\0';
填空:a score[i]
改错:s[j++]=s[i];
s[j]=0;