C语言 将用户输入的字符串中的所有数字提取出来

如题所述

第1个回答  2022-12-11

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

intmain()

{

intz=0;

intt,i;

int*p;

intm=0;

ints=0;

chara[10];//输入一个字符串到a[6]

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

scanf("%s",a);//输入字符串

for(i=0;i<10;i++)//计算a[6]中的数字个数

{

if(a[i]>='0'&&a[i]<='9')

m++;

}

if(m==0)

printf("字符串中没有数字\n");

p=(int*)calloc(m,sizeof(int));//动态数组

for(i=0;i<10;i++)

{

if(a[i]>='0'&&a[i]<='9')

{

*(p+s)=a[i]-48;

s++;

}

}

//组成新的整数

for(t=0;t<m;t++)

{

z+=(*(p+t))*pow(10,m-(t+1));//组成新的整数

}

printf("新组成整数:%d\n",z);

free(p);

}

kuo

扩展资料

C语言实现将字符串的数字提取为整数

#include<stdio.h>

intStringToInteger(char*p)

{

intvalue=0;

while(*p!='\0')

{

if((*p>='0')&&(*p<='9'))

{

value=value*10+*p-'0';

}

p++;

}

returnvalue;

}

intmain(void)

{

char*str="112.123.156.1";

intval=0;

val=StringToInteger(str);

printf("value=%d\n\r",val);

getchar();

return0;

}

相似回答