从键盘上输入一个含有数字的字符串,然后在原字符串中删除其中的数字。如输入的字符串为"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);
}