可以遍歷這個字符串
在海林等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計制作按需求定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站制作,海林網(wǎng)站建設(shè)費用合理。
然后使用isdigit函數(shù)判斷字符是否為數(shù)字
如果不是將其保存在一個緩沖區(qū)中
遍歷完后再用這個緩沖區(qū)替換指針中的數(shù)據(jù)
下面是一個簡單的代碼
#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;
}
排除方法輸入完數(shù)據(jù),緊跟著getchar()可以吸收多余字符進(jìn)行排除。
C語言包含的數(shù)據(jù)類型廣泛,不僅包含有傳統(tǒng)的字符型、整型、浮點型、數(shù)組類型等數(shù)據(jù)類型,還具有其他編程語言所不具備的數(shù)據(jù)類型,其中以指針類型數(shù)據(jù)使用最為靈活,可以通過編程對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行計算。
可視化編程也越來越重要,所謂的可視化程序設(shè)計和VisualBasic或VisualC++并不同,支持可視化程序設(shè)計的IDE可以讓開發(fā)人員直接移動程序單元來建立流程圖和結(jié)構(gòu)圖,然后直接做編譯或解釋,這一類的流程圖通常是以UML為基礎(chǔ)。
如果只是英文字符的話,你比較ASC碼的值就可以 了啊
比如 char ch;
if(ch ='0'||ch='9') //注意要帶上'',否則就是對應(yīng)的ASC值,0的ASC可不是'0'
{
到這個里面的字符就是數(shù)字了
}
#includestdio.h
#includectype.h
#define?MAX?256?
void?proc(char?*p)//指針p指向字符串的首地址
{
char?*q;
while(*p!='\0')//從首地址開始,循環(huán)至字串結(jié)束
{
if(isdigit(*p))//這個函數(shù)在ctype.h中,判斷字符是不是數(shù)字
{
//printf("%c",*p?);//調(diào)試用
//*p='?';??//把數(shù)字替換為空格??*100*
?q=p;//1??如果需要把后面字符往前移就用1-6。
while(*(q+1)!='\0')//2?把當(dāng)前數(shù)字位置后的字符全部往前移一位
{
*q=*(q+1);//3
?q++;//4
}
*q='\0';//5
}
else?//6?如果只需要用空格代替數(shù)字,1-6不用,保留100那一句就好
p++;
}
}
int?main()
{
char?s[MAX];//因為c語言中不支持正式string,所以,輸入還是要用
//字符數(shù)組來保存
scanf("%s",s);
proc(s);
printf("結(jié)果:%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]); //原來只輸入了一個數(shù)!??!
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;
}*/