设为首页 加入收藏

TOP

C语言编程笔试题(第二十四套)
2014-11-24 01:23:01 来源: 作者: 【 】 浏览:6
Tags:语言编程 试题 二十四

编程题:


88.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。


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


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


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


#include


#include



void fun(char *a)


{


}



main()


{


char s[81];


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


gets(s);


fun( s );


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


puts(s);


}



91.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。


例如,当a=45,b=12,调用该函数后,c=5241。


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


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


#include


#include


void fun(int a, int b, long *c)


{


}


main()


{


int a,b;


long c;


clrscr();


printf(” Input a, b: “);


scanf(“%d%d”, &a,&b);


fun(a,b,&c);


printf(” The result is :%ld\n”, c);


}



改错题:


51.下列给定程序中,函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指字符串中。例如:把3个串abe,CD,EF串连起来,结果是abcCDEF。


请改正程序中的错误,使它能计算出正确的结果。


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


试题程序:


#include


#include


#include



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


int fun ( char str[][10], int m, char *pt )


{


int k, q, i ;


for ( k = 0; k < m; k++ )


{


q = strlen ( str [k] );


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


for (i=0; i

pt[i] = str[k,i] ;


pt += q ;


pt[0] = 0 ;


}


}


main( )


{


int m, h ;


char s[10][10], p[120] ;


clrscr() ;


printf(“\nPlease enter m:” ) ;


scanf(“%d”, &m) ;


gets(s[0]) ;


printf( “\nPlease enter %d string:\n”, m );


for ( h = 0; h < m; h++ )


gets( s[h]) ;


fun(s, m, p) ;


printf( “\nThe result is : %s\n”, p) ;


}




54.下列给定程序中,函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。


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


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


试题程序:


#include


#include


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


double fun(char*s, char*t)


{


int s1=0,t1=0;


char *ss, *tt;


ss=s;


tt=t;


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


while(*ss)


{


s1++;


(*ss)++;


}


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


while(*tt)


{


t1++;


(*tt)++;


}


if(t1>s1)


return t;


else


return s;


}


main()


{


char a[80],b[80],*p,*q;


int i;


clrscr();


printf(“\nEnter a string : “);


gets(a);


printf(“\nEnter a string again : “);


gets(b);


printf(“\nThe longer is :\n\n%s\n”,fun(a,b));


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言编程笔试题(第二十三套) 下一篇C语言编程笔试题(第二十五套)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: