题目:输入一个长度不超过100的字符串,然后输入一个字符,通过程序将字符串中该字符删除并输出最后的字符串,要求字符串存放在数组中,字符串的输入与输出,在主函数中实现删除字符,在自定义函数deletechar中实现。
思路:
- 遍历字符串,删除一个以后,将后面的字符向前移一个,重复此过程;
- 遍历数组,找出与需删除字符不同的字符,然后输出这些字符;
显然方法二更为简单
代码如下:
#include <stdio.h> ///输入一个字符,将该字符串中的该字符删除,并输出删除以后的新字符串
#include <string.h>
int main()
{
char a[101],c;
void deletechar(char a[101],char c);
printf("请输入不超100个字符串:\n");
gets(a);
printf("输入一个字符\n");
scanf("%c",&c);
deletechar(a,c);
return 0;
}
void deletechar(char a[101],char c) //删除特定字符
{
int i;
for(i=0;i<strlen(a);i++)
if(a[i]!=c) //非特定字符才能输出 相当于反向删掉特定字符
printf("%c",a[i]);
}