Problem I 删除字符串中指定的字符

Problem Description
编写函数sequeeze(s, c),删除字符串s中出现的所有字符c。
Input Description
输入为两行,第一行输入一个字符串,最多80个字符,第二行输入要在字符串中删除的字符。
Output Description
输出被进行删除处理后的字符串。
Sample Input
iammm ismm
m
Sample Output
ia is


答案:
#include
#include

#define N 80
char sequeeze(char s[], char c);
int main()
{
    char s[N];
    char c;
    gets(s);
    scanf("%c", &c);
    sequeeze(s, c);
    puts(s);
}
char sequeeze(char s[], char c)
{
    int j;
    int len;
    len = strlen(s);
    for(int i = 0; i < len; i++)
    {
        if(s[i] == c)
            continue;
        else
        {
            s[j] = s[i];
            j++;
        }
    }
    s[j] = '\0';
    return s;
}

模板:
#include
#include

void deleteChar(char a, char str[]) 
{
    int strLength = strlen(str); // 计算字符串的长度
    int point = 0; // 字符串位置标号,用于保存当前有效字符位置
    for (int i = 0; i < strLength; i++)
    {
        if (str[i] == a) 
            continue; // 若当前字符为要删除的字符,则直接跳过继续进行循环
        else
          {
            str[point] = str[i]; // 当前字符为非删除字符,则往前覆盖
            point++; // 有效字符标号位置递增
        }
    }
    str[point] = '\0'; // 循环结束,最后一个字符为结束符
}

int main(void) {
    char a; // 要删除的字母
    char str[200]; // 保存字符串
    scanf("%s", str);
    deleteChar('a', str); // 这里把要删除的字符写死了,为`a`,你也可以换成输入语句,自行输入
    puts(str);
    return 0;
}Problem I 删除字符串中指定的字符_第1张图片

 

#include 
#include 

#define N 80
char sequeeze(char s[], char c);
int main()
{
    char s[N];
    char c;
    gets(s);
    scanf("%c", &c);
    sequeeze(s, c);
    puts(s);
}
char sequeeze(char s[], char c)
{
    int j;
    int len;
    len = strlen(s);
    for(int i = 0; i < len; i++)
    {
        if(s[i] == c)
            continue;
        else
        {
            s[j] = s[i];
            j++;
        }
    }
    s[j] = '\0';
    return s;
}

你可能感兴趣的:(蓝桥杯,p2p,c语言)