编写C++程序,将以某指定子字符串从一个已知的字符串中删除 一下是我编的 请大家帮我看看

2025-04-05 16:15:23
推荐回答(2个)
回答1:

}
i++; //这里的i++应该去掉,因为你的for(i=0;i cout< cout<while循环里面最后也应该加上cout<
//将以某指定子字符串从一个已知的字符串中删除
#include
using namespace std;

int main()
{
int i=0,n,j;
char x;
char a[80];
char *b=a;
cout<<"请输入指定字符:";
cin>>x;
cout<<"请输入字符串长度:";
cin>>n;
cout<<"请输入字符每个字符:";
for(;i cin>>a[i];
for(i=0;i {
if(a[i]==x)
{
j=i;
while (a[j]!='\0')
{
a[j]=a[j+1];
j++;
cout< }

break; //跳出整个for循环
}
cout<
}
return 0;
}

回答2:

while (a[j]!='\0')
{
a[j]=a[j+1];
j++;
}
}
i++;
这段有问题:首先,你if 里面,while后面将里面的字符一个一个往前赋值,最后n最好要减一,i不要++,而是要i--,因为你此时已经到了第i个了,而 你有删除了第i个,whil之后的第i个其实是第i+1个,所有i要减减;
if外面不要i++,因为不要跳跃第i个