C语言 输入一行字符串,将其有的数字字符删除,打印删除后的字符

如题所述

#include<stdio.h>

#include<string.h>

#define N 100

main()

{ char s[N];

int i,j;

printf("请输入字符串:\n");

gets(s);

for(j=0;j<100;j++)

{ for(i=0;s[i]!='\0';i++)

if(s[i]>47&&s[i]<58)

strcpy(s+i,s+i+1);

}

puts(s);

}

扩展资料:

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料来源:百度百科-字符串

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-06-21
printf("love");printf("\b ");转义符\b是退格,但是并不删除,因此可以再退格后输出一个空格覆盖最后的e。注意\b是不能退到上一行的,最多退到行首。
第2个回答  2010-12-06
#include<stdio.h>
#include<string.h>
#define N 100
main()
{ char s[N];
int i,j;
printf("请输入字符串:\n");
gets(s);
for(j=0;j<100;j++)
{ for(i=0;s[i]!='\0';i++)
if(s[i]>47&&s[i]<58)
strcpy(s+i,s+i+1);
}
puts(s);
}本回答被网友采纳
第3个回答  推荐于2017-06-23
你可以利用ASCLL码来实现,用if语句判断就可以了,蛮简单的本回答被网友采纳
相似回答