思考过程:
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
#includeint main(void) { int i,j; char S[100],x; //100是自己定义的 printf("input the stringn"); gets(S); printf("input the charn"); scanf("%c",&x); 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. } } puts(S); return 0; }



