程序希望从S1字符串中,删除S2字符串中包含的字符,并且返回删除的字符数目和删除之后的字符串
程序如下:
#include <iostream>
#include <string>
using namespace std;
int squeeze(char s1[], char s2[]){
int i,j,h,m;
h=0;
for(i=0;s1[i]!='\0';i++)
for(m=0;s2[m]!='\0';m++)
if(s1[i]==s2[m])
h++;
for(j=i;s1[j]!='\0';j++)
s1[j]=s1[j+1];
i--;
cout<<h<<' '<<s1;
return 0;
}
int main() {
char str[20],ch[100];
char c;
cin>>str;
c=getchar();
if(c==' ')
{
cin>>ch;
}
if(c=='\n')
{
return 0;
}
int m=squeeze(str,ch);
return 0;
}
现在的问题是无法删除重复的字符,比如想在helloworld里面删除lol,输出应该是hewrd,但现在显示的是heowrd,求大神帮忙解惑
程序如下:
#include <iostream>
#include <string>
using namespace std;
int squeeze(char s1[], char s2[]){
int i,j,h,m;
h=0;
for(i=0;s1[i]!='\0';i++)
for(m=0;s2[m]!='\0';m++)
if(s1[i]==s2[m])
h++;
for(j=i;s1[j]!='\0';j++)
s1[j]=s1[j+1];
i--;
cout<<h<<' '<<s1;
return 0;
}
int main() {
char str[20],ch[100];
char c;
cin>>str;
c=getchar();
if(c==' ')
{
cin>>ch;
}
if(c=='\n')
{
return 0;
}
int m=squeeze(str,ch);
return 0;
}
现在的问题是无法删除重复的字符,比如想在helloworld里面删除lol,输出应该是hewrd,但现在显示的是heowrd,求大神帮忙解惑