c语言编程笔试题 第十四套,C语言编程笔试题(第三十四套)

2015-09-13 06:30:02

阅读( 168 )

编程题:

52.编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。

例如,分别输入下面两个字符串:

FirStString–

SecondString

则程序输出:FirstString–SecondString

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include

#include

void fun(char p1[], char p2[])

{

}

main()

{

char s1[80], s2[40] ;

clrscr() ;

printf(“Enter s1 and s2:\n”) ;

scanf(“%s%s”, s1, s2) ;

printf(“s1=%s\n”, s1) ;

printf(“s2=%s\n”, s2) ;

printf(“Invoke fun(s1,s2):\n”) ;

fun(s1, s2) ;

printf(“After invoking:\n”) ;

printf(“%s\n”, s1) ;

}

56.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是;除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。

例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的则内容应当是ABCDEFG*******。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include

#include

void fun( char *a, char *p)

{

}

main()

{

char  s[81],*t;

printf(“Enter a string:\n”);

gets(s);

t=s;

while(*t)

t++;

t–;

while(*t==’*')

t–;

fun( s , t );

printf(“The string after deleted:\n”);

puts(s);

}

改错题:

87.下列给定程序中,函数fun的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如输入1、2、3、4,程序运行后将输出以下方阵:

4  1  2  3

3  4  1  2

2  3  4  1

1  2  3  4

请改正函数fun中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#define   M   4

/********found********/

int fun(int a)

{

int i,j,k,m;

printf(“Enter 4 number : “);

for(i=0; i

scanf(“%d”,&a[i]);

printf(“\n\nThe result  :\n\n”);

for(i=M;i>0;i–)

{

k=a[M-1];

/********found********/

for(j=M-1;j>0;j–)

a[j]=a[j+1];

a[0]=k;

for(m=0; m

printf(“%d  “,a[m]);

printf(“\n”);

}

}

main()

{

int a[M];

fun(a);

printf(“\n\n”);

}

89.下列给定程序中,函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此数的低3位值为625。

请改正函数fun中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

long fun(int x,int y,long *p)

{

int i;

long t=1;

/********found********/

for(i=1; i

t=t*x;

*p=t;

/********found********/

t=t/1000;

return t;

}

main()

{

long t,r;

int x,y;

printf(“\nInput x and y: “);

scanf(“%ld%ld”,&x,&y);

t=fun(x,y,&r);

printf(“\n\nx=%d, y=%d, r=%ld, last=%ld\n\n”,x,y,r,t);

}

分享给朋友:

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息:

面试题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值