帮忙写个C语言编程题。“将用户输入的任意字符串中的数字字符全部删除,形成新的字符串输出”。用数组。

如题所述

把用户输入的字符串从左至右逐字符向同一个数组中拷贝,遇到数字字符时接收计数变量不增量,就会被下一个字符覆盖这个数字字符,直到把'\0'也拷贝进来。代码如下:

#include "stdio.h"
int main(int argc,char *argv[]){
char s[300];
int i,j;
printf("Please enter a string...\n");
fgets(s,300,stdin);//输入字符串
i=j=0;
while(s[j]=s[i++])//字符数组自已向自己拷贝
if(s[j]>'9' || s[j]<'0')//非数字字符时接收计数变量j才增值
j++;
printf("\nAfter delete digital characters:\n%s\n",s);
return 0;
}

试运行结果如图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-21
#include<stdio.h>
void main()
{
int i,j;
char s[100];
printf("输入字符串:");
gets(s);
j=0;
for(i=0;s[i];i++)
if(!(s[i]>='0'&&s[i]<='9')) s[j++]=s[i];
s[j]=0;
puts(s);
}本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网