2015-10-20 06:30:02
阅读( 183 )
编程题:
32.请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为ABCDEFGl2345,其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是135。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
#include
void fun(char *s, char t[])
{
}
main()
{
char s[100], t[100];
clrscr();
printf(“\nPlease enter string S:”);
scanf(“%s”, s);
fun(s, t);
printf(“\nThe result is: %s\n”, t);
}
33.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
例如,字符串中的内容为****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容则应当是****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为 ****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
void fun(char *a,int n)
{
}
main()
{
char s[81];
int n;
printf(“Enter a string :\n”);
gets(s);
printf(“Enter n: “);
scanf(“%d”,&n);
fun( s,n );
printf(“The string after deleted :\n”);
puts(s);
}
改错题:
77.下列给定程序中函数fun的功能是:将字符串中的内容按逆序输出,但不改变字符
串中的内容。例如,若字符串为abcd,则应输出dcba。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include
/********found********/
fun(char a)
{
if(*a)
{
fun(a+1);
printf(“%c”,*a) ;
}
}
main( )
{
char s[10]=”abcd”;
printf(“s =%s\ns’=”, s);
fun(s);
printf(“\n”);
}
85.下列给定程序中,函数fun的功能是:从字符串s中删除所有小写字母’c’。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include
void fun(char *s)
{
int i,j;
for(i=j=0; s[i]!=’\0′; i++)
/********found********/
if(s[i]!=’c')
s[j]=s[i];
/********found********/
s[i]=’\0′;
}
main()
{
char s[80];
printf(“Enter a string: “);
gets(s);
printf(“The original string :”);
puts(s);
fun(s);
printf(“The string after deleted:”);
puts(s);
printf(“\n\n”);
}
分享给朋友:
亲~ 如果您有更好的答案 可在评论区发表您独到的见解。
您想查看更多的信息:
面试题