删除长度小于80的字符串中的指定的字符,字符串和要删除的字符均由键盘输入。用c++并解释。非常感谢

如题所述

#include<iostream>
using namespace std;
void main()
{
char str1[80];
char c;
int flag=0;
cout<<"请输入字符串:";
cin>>str1;
cout<<"请输入要删除的字符:";
cin>>c;

int j,i=0;
while(str1[i]!='\0')//从字符串一个个字符查找
{
if(str1[i]==c)//找到c
for(j=i;str1[j]!='\0';j++)//从后面开始向前面填补
{
str1[j]=str1[j+1];
flag=1;
}
if(flag==0)
i++;//如果删除了字符就继续往前,如果没有,停留在原处,因为可能这个位置也是要删除的字符
}
cout<<"删除后得:";
cout<<str1<<endl;
}追问

我错了,大哥。用c语言,不是c++,再帮一下,再次感谢。那个cout函数c语言无法识别啊

追答

#include
#include
void main()
{
char str1[80];
char c;
int flag=0;
int j,i=0;
printf("请输入字符串:");
scanf("%s",str1);
printf("请输入要删除的字符:");
scanf("%c",&c);
while(str1[i]!='\0')//从字符串一个个字符查找
{
if(str1[i]==c)//找到c
for(j=i;str1[j]!='\0';j++)//从后面开始向前面填补
{
str1[j]=str1[j+1];
flag=1;
}
if(flag==0)
i++;//如果删除了字符就继续往前,如果没有,停留在原处,因为可能这个位置也是要删除的字符
}
printf("删除后得:");
printf("%s\n",str1);
}

温馨提示:答案为网友推荐,仅供参考
相似回答