全国二级考试计算机-二级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;