输入一个字符串,将其中的数字字符全部删除

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果输入格式:

输入一字符串

输出格式:

删掉数字字符后,剩下的字符组成的新串

输入样例:

在这里给出一组输入。例如:

a1b2c3
结尾无空行
输出样例:

在这里给出相应的输出。例如:

abc
结尾无空行

你题目的解答代码如下:

#include <stdio.h>
#include <string.h>

int main(){
    char s[50];
    int i,len;
    gets(s);
    len = strlen(s);
    int j=0;
    for (i = 0; i < len; i++)
    {
        if (!(s[i]>='0' && s[i]<='9'))
            s[j++] = s[i];
    }
    s[j] = '\0';
    puts(s);
    return 0;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

循环遍历数组,将非数字放到数组开头位置

#include <stdio.h>
int main()
{
    char s[1000];
    int i=0,j=0;
    gets(s);
    while(s[i] != 0)
    {
        if(s[i] >'9' || s[i] < '0')
             s[j++] = s[i];
        i++;
    }
    s[j] = 0;
    puts(s);
    return 0;
}

用while循环与getchar配合读入输入,如果读入的是数字,则舍弃,否则将其存入数组中,读到\n后在数组末尾添加一个\0,然后输出数组内容