c语言编程:输入字符串,删除数字

从键盘上输入一个含有数字的字符串,然后在原字符串中删除其中的数字。如输入的字符串为"ab12cd345e",则处理后的字符串为"abcde".程序中只能定义一个数组。

提示:所谓删除就是将后面的非数字字符前移,将数字覆盖掉。要注意字符串结束符(空字符)的位置。

// 删除数字
#include <stdio.h>
#define N 100
int main(void)
{
	char s[N];
	int j,k;
	gets(s);// 输入字符串
	for(j = k = 0;s[j]!='\0';j++)// 此循环用于删除字符串中的数字
		if(s[j]<'0'||s[j]>'9')
			s[k++] = s[j];
	s[k] = '\0';// 处理过的字符串加上结束标志'\0'
	puts(s);// 输出处理过的字符串
	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

还可以使用函数判断是否为数字
只需要在if语句上修改
if(isdigit(s[i]))

#include <stdio.h>

void main()
{
    char s[100];
    gets(s);
    int i = 0, j = 0;
    while (s[i]!='\0')
    {
        s[j] = s[i];
        if (!(s[i]>='0' && s[i]<='9'))
            j++;
        i++;
    }
    s[j] = '\0';
    printf("%s",s);
}