删除字符串中的字符.输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除
【问题描述】删除字符串中的字符。输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除,然后输出删除后的字符串。【输入形式】输入字符串和字符【输出形式】输出...
【问题描述】删除字符串中的字符。输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除,然后输出删除后的字符串。
【输入形式】输入字符串和字符
【输出形式】输出删除字符后的字符串
【样例输入】happy new year a
【样例输出】hppy new yer
【样例说明】
【评分标准】
下面是我编的代码,麻烦指出错误和修改
#include
main()
{
char s[20]={0};
char c=0;
int i;
scanf("%s",&s);
scanf("%c",&c);
for(i=0;i<strlen(s);i++)
{
if(s[i]!="c")
printf("%c",s[i]);
}
} 展开
【输入形式】输入字符串和字符
【输出形式】输出删除字符后的字符串
【样例输入】happy new year a
【样例输出】hppy new yer
【样例说明】
【评分标准】
下面是我编的代码,麻烦指出错误和修改
#include
main()
{
char s[20]={0};
char c=0;
int i;
scanf("%s",&s);
scanf("%c",&c);
for(i=0;i<strlen(s);i++)
{
if(s[i]!="c")
printf("%c",s[i]);
}
} 展开
2个回答
展开全部
第一个
scanf("%s",&s); 因为数组名就是地址,所以不是这里面错了,里面应该不要&
第二个,if(s[i]!="c") 这里不是和字符串“C”比较,应该去掉那一对双引号
第三个,你的写法其实不是删除,而是不打印指定的符号。
scanf("%s",&s); 因为数组名就是地址,所以不是这里面错了,里面应该不要&
第二个,if(s[i]!="c") 这里不是和字符串“C”比较,应该去掉那一对双引号
第三个,你的写法其实不是删除,而是不打印指定的符号。
追问
怎么写才是删除呢,你能给出代码么?
追答
删除就要把后面的往前移呀。
给你看一断删除 'S' 的代码,你参考了修改一下。
#include<stdio.h>
int main()
{
int i,j;
char s[80];
printf("\nEnter a string: ");
gets(s);
printf("The original string is: ");
puts(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='S') //这里写 ‘S’就只能删'S'了,应该是和你字符变量比较,这个字符变量应该是用户输入的。
s[j++]=s[i];
s[j]='\0';
printf("The string after deleted is: ");
puts(s);
}
展开全部
追答
#include<stdio.h> //头文件没加
#include<string.h>
main()
{
char s[100]={0};
char c=0;
int i;
gets(s);
c=getchar();
for(i=0;i<strlen(s);i++)
{
if(s[i]!=c)
printf("%c",s[i]);
}
printf("\n");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询