#include <stdio.h>
#define MAXN 20
void delchar(char* str, char c);
void ReadString(char s[]);
int main()
{
? ? char str[MAXN], c;
? ? scanf("%c\n", &c);
? ? ReadString(str);
? ? delchar(str, c);
? ? printf("%s\n", str);
? ? return 0;
}
void ReadString(char s[])
{
? ? gets(s);
}
void delchar(char* str, char c)
{
? ? ? ? int k = 0;
? ? ? ? char a[MAXN] = { 0 };//新建數(shù)組a
? ? ? ? while (str[k])//計算位數(shù)
? ? ? ? {
? ? ? ? ? ? k++;
? ? ? ? }? ?
? ? ? for (int i = 0;i < k;i++)//將str值給a枝笨,同時str初始化
? ? ? ? {
? ? ? ? ? ? a[i] = str[i];
? ? ? ? ? ? str[i] = 0;
? ? ? ? }
? ? ? int e = 0;//e統(tǒng)計刪掉了幾個字符
? ? ? for (int i = 0;i < k;i++)
? ? ? {
? ? ? ? ? if (a[i] ==c)
? ? ? ? ? {
? ? ? ? ? ? ? a[i] = 0;
? ? ? ? ? ? ? e++;
? ? ? ? ? }
? ? ? }
? ? ? int b = 0;//a的第一項下標(biāo)
? ? ? int i = 0;//str的第一項下標(biāo)
? ? ? while (i < k - e)//k-e為刪去指定字符后的長度
? ? ? {
? ? ? ? ? while (a[b])//遇到非0后i的下標(biāo)才增加蛉抓,否則不變孕暇。
? ? ? ? ? {
? ? ? ? ? ? ? str[i] = a[b];?
? ? ? ? ? ? ? i++;
? ? ? ? ? ? ? break;
? ? ? ? ? }
? ? ? ? ? b++;
? ? ? }
}
簡單的題目躬充。題目詳情 - 習(xí)題8-6 刪除字符 (pintia.cn)