#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;
}