从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str。
输入格式:
第一行是一个字符串,不超过100个字符;
第二行是一个字符。
输出格式:
删除指定字符后的字符串。
输入样例:
在这里给出一组输入。例如:
sdf$$$sdf$$
$
输出样例:
在这里给出相应的输出。例如:
sdfsdf
#include<stdio.h>
#include<string.h>
char str[1000];//存放字符串的数组
int lenth;//数组现在长度
char c;//所删除的字符
void forward(int i);//将arr数组i位置后的所有元素像前移动一位
int main(void)
{
int i;
fgets(str, 200, stdin);
str[strlen(str) - 1] = '\0';//fgets(arr,lenth,stdin);函数会读取输入的回车存放于目的字符串中,所以要清楚该字符串
c = getchar();
lenth = strlen(str);
//遍历数组元素,
//若第i个元素要删除则执行forward(i);i大小不变
//若第i个元素不删除则遍历i++;
for (i = 0; i < lenth; )
{
if (str[i] == c)
{
forward(i);
}
else
{
i++;
}
}
printf("%s", str);
return 0;
}
void forward(int i)//将arr数组i位置后的所有元素像前移动一位
{
int j;
//从数组第j = i位向前移动一位
for (j = i; j < lenth; j++)
{
str[j] = str[j + 1];
}
lenth--;
return;
}