问题 问答题

编写函数fun(),该函数的功能是从字符串中删除指定的字符,同一字母的大、小写按不同字符处理。
例如:程序执行时输入字符串为turbo c and borland c++,从键盘上输入字符n,则输出后变为turbo c ad borlad c++。
如果输入的字符在字符串中不存在,则字符串照原样输出。
注意:部分源程序已存在文件test18_2.cpp中。
请勿改动主函数脚in和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
文件test18_2.cpp的内容如下:
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
void fun(char s[ ], int c)


void main ( )

static char str[ ]="turbo c and borland c++";
char ch;
cout<<"原始字符串:\n"<<str<<end1;
cout<<"输入一个字符:";
cin>>ch;
fun(str.ch);
cout<<"str="<<str<<end1;

答案

参考答案:
void fun(char s[], int c)
{
int i=0;
char *p;
p=s;
while( *p)
{if( *p!=c)
{s[i]=*p;
i++;
}
p++;
}
s[i]=’\0’;
}

解析:本题考查用字符指针来控制字符数组中的元素。指针p初始化时应指向字符数组的首地址s,之后利用p逐个取得数组中的元素,然后用取得的字符逐个与要删除的字符进行比较,如果二者相同,则跳过该字符,去取下一个数组元素,这样最终得到的字符串中就把要删除的字符去掉了。最后不要忘记要手动地加上一个字符串结束标记‘\0’。

选择题
选择题