输入一个长度不超过80的字符串,编写程序, 删除其中所有的数组字符,C语言程序代码

2024-12-02 04:43:16
推荐回答(2个)
回答(1):

/*

删除数字字符前:asshgeytwg45098863hdh11

删除数字字符后:asshgeytwghdh

Press any key to continue

*/

#include 

void DelNum(char s[],char ch) {
int i,j;
for(i = 0; s[i]; ++i) {
if(s[i] == ch) {
for(j = i; s[j]; ++j)
s[j] = s[j + 1];
--i;
}
}
}

int main(void) {
char c,s[] = "asshgeytwg45098863hdh11";
printf("删除数字字符前:%s\n",s);
for(c = '0'; c <= '9'; ++c)
DelNum(s,c);
printf("删除数字字符后:%s\n",s);
return 0;
}

回答(2):

int main(int argc,char**argv)
{
while( TRUE )
{
printf("请输入一个字符串\n");
char ch[80],cb[80],*c=cb;
memset(ch,0,80);
memset(cb,0,80);
scanf("%s",ch);
int i;
for(i=0;ch[i]!='\0';++i)
{
switch(ch[i])
{
case '1':case'2':case '3':case '4':case '5':case '6':case '7' :case '8':case '9':case '0':break;
default :*c=ch[i];++c;break;
}
}
printf"这个就是删除了数字的字符串\n%s\n\n",cb);
}
}

这个大概就是您要的吧,是不是删除了数字之后的呢。