
思考过程:
1.用户输入字符串,用什么存,怎么输入?
2.用户输入X
3.在字符串中查找X,并删除。怎么找,怎么删。
解决:
1.创建字符数组,用 gets函数输入。(gets相比scanf("%s",....) 可以输入空格,制表符)
可以看:Gets函数_蜗壳初学者的博客-CSDN博客
char S[100];
printf("input the string");
gets(S);
2.循环查找,找到则删除。
for(i=0;S[i]!='';i++)
{
if(S[i]==x)
{
for(j=i;S[j]!='';j++)
S[j]=S[j+1];//用后面一个覆盖当前这个数,并整体前移。
S[j]=''; //移动完后,新的字符串记得加'';
i--; //注意!!这个位置的新的数还没有被判断,例如hello,想删除l,如果没有i--,则输出helo.
}
}
3.整体代码
输入 hello l
输出 heo
#include
int main(void)
{
int i,j;
char S[100],x; //100是自己定义的
printf("input the string\n");
gets(S);
printf("input the char\n");
scanf("%c",&x);
for(i=0;S[i]!='\0';i++)
{
if(S[i]==x)
{
for(j=i;S[j]!='\0';j++)
S[j]=S[j+1]; //用后面一个覆盖当前这个数,并整体前移。
S[j]='\0'; //移动完后,新的字符串记得加'\0';
i--; //注意!!这个位置的新的数还没有被判断,例如hello,想删除l,如果没有i--,则输出helo.
}
}
puts(S);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)