编写一个函数delchar(char*s1,char s2),从字符串s1中删除与字符s2相同的字符。用main()测试该函数

必须用iostream... 必须用iostream 展开
 我来答
匿名用户
2013-12-02
展开全部
#include<iostream>
using namespace std;

void delchar(char* s1, char s2);

int main()
{
char mystring[100];
char mychar;
cout << "input a string(less than 100 chars):";
cin >> mystring;
cout << "input a char:";
cin >> mychar;

cout << "original string: " << mystring << "\n";
delchar(mystring, mychar);

cout << "after delchar: " << mystring << "\n";

return 0;
}

// 算法思想:将删除所s2后的数组先放在一个新的数组中,最后全部复制到原地址
void delchar(char* s1, char s2)
{
char temp[100];

while(*s1 != '0')
{
if(*s1 == s2)
{
s1++;
continue;
}
*temp = *s1;
temp++;
s1++;
}
*temp = '\0';

while( (*s1++ = *temp++) != '\0' );
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式