输入字符串,提取出里面的数字组成一个新的整数
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
int z=0;
int t,i;
int *p;
int m=0;
int s=0;
char a[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);
}
运行结果:
请输入一个字符串
1b23b13b
新组成的整数:12313
个人网站,欢迎来踩