c++删除字符题

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:56:27
编写函数fun,其功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。
若程序执行时,输入字符串为:We are learning C Languang
从键盘上输入字符:a,则输出为:We re lerning C Lngung
刚学的C++,老师就要交编程题,实在是不会了。高手帮忙做下吧。完整的程序代码。

这个很简单。判断输入的字符,如果字符串中有相同的字符,用下一个字符替代这个字符,后面的字符向前移。想学编程,自己多想想,实在想不出再提问。

这个只是说一下原理吧,楼主自己编一下:

将字符串输入: cin >> string;
输入比对字符: cin >> char;
输出时,循环判断每一个每一个字符,进行比对,若不一样则输出,下标+1;
若一样,不输出,下标+1;
其实感觉用容器可能会更好一些,但是这个程序比较简单,也可以不用那么高级的东西;

string fun(string s, char dc)
{
string::iterator i = s.begin();
int j = 0;
for (; i != s.end(); ++i)
{
if ((*i) == dc)
{
s.erase(j, 1);
s = fun(s, dc);
return s;
}
j++;
}
return s;
}

int _tmain(int argc, _TCHAR* argv[])
{
string s = "We are learning C Languang";
char dc = 'a';
s = fun(s, dc);
cout << s.c_str() << endl;
return 0;
}

这东西很简单 最好自己写 顺便说一下 建个数组,把输入的字符放进去,再查找相应字符所在位置,找到后把后面的字符一次往前移动就行了