可以遍历这个字符串
在海林等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站制作 网站设计制作按需求定制设计,公司网站建设,企业网站建设,品牌网站建设,全网营销推广,成都外贸网站制作,海林网站建设费用合理。
然后使用isdigit函数判断字符是否为数字
如果不是将其保存在一个缓冲区中
遍历完后再用这个缓冲区替换指针中的数据
下面是一个简单的代码
#include stdio.h
#include ctype.h
#include string.h
void DelNumber(char *p)
{
char buf[512];
char *p1=p;
char *p2=buf;
while(*p)
{
if(!isdigit(*p))
{
*p2=*p;
++p2;
}
++p;
}
*p2='\0';
sprintf(p1,"%s",buf);
}
int main(int argc,char **argv)
{
char s[]="H1e2l3l4o5 Wo6rl789d!10";
printf("%s\n",s);
DelNumber(s);
printf("%s\n",s);
return 0;
}
排除方法输入完数据,紧跟着getchar()可以吸收多余字符进行排除。
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
可视化编程也越来越重要,所谓的可视化程序设计和VisualBasic或VisualC++并不同,支持可视化程序设计的IDE可以让开发人员直接移动程序单元来建立流程图和结构图,然后直接做编译或解释,这一类的流程图通常是以UML为基础。
如果只是英文字符的话,你比较ASC码的值就可以 了啊
比如 char ch;
if(ch ='0'||ch='9') //注意要带上'',否则就是对应的ASC值,0的ASC可不是'0'
{
到这个里面的字符就是数字了
}
#includestdio.h
#includectype.h
#define MAX 256
void proc(char *p)//指针p指向字符串的首地址
{
char *q;
while(*p!='\0')//从首地址开始,循环至字串结束
{
if(isdigit(*p))//这个函数在ctype.h中,判断字符是不是数字
{
//printf("%c",*p );//调试用
//*p=' '; //把数字替换为空格 *100*
q=p;//1 如果需要把后面字符往前移就用1-6。
while(*(q+1)!='\0')//2 把当前数字位置后的字符全部往前移一位
{
*q=*(q+1);//3
q++;//4
}
*q='\0';//5
}
else //6 如果只需要用空格代替数字,1-6不用,保留100那一句就好
p++;
}
}
int main()
{
char s[MAX];//因为c语言中不支持正式string,所以,输入还是要用
//字符数组来保存
scanf("%s",s);
proc(s);
printf("结果:%s\n", s);
}
/*int main (){
int i,j,t,a[N];
printf("please input ten numbers:\n");
for (i=0;iN;i++)
scanf("%d",a[i]); //原来只输入了一个数!!!
for (i=0;iN;i++)
{
for (j=0;jN;j++)
{
if (a[i]a[j])
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
}
}
printf("output the sorted numbers:\n");
for (i=0;iN;i++)
printf(" %d",a[i]);
printf("\n");
return 0;
}*/