找数字?
随便输入一字符串,例如“123fd45678fda789fdsa”用整型输出123,45678,789。并数出共有几个整型数,例如这个就是3个;下面我写的代码:
main()
{
int i,j,k=0;
char arr1[100],arr2[50],*p; /*arr1用来接字符串,arr2用来接每次出现数字的字符串*/
long int a[20],b,sum=0;/*a[20]用来接整数,*/
printf("\nInput the string:\n");
gets(arr1);
p=arr1;
while(*p!='\0')
{
if(*p>='0'&&*p<='9')
{
for(i=0;*p>='0'&&*p<='9';i++)
{
arr2[i]=*p;
p++;
}
for(j=0;arr2[j]!='\0';j++,i--)
{
b=pow(10,i-1);/*求10的i-1次方*/
sum=sum+b*arr2[j];/*求整数*/
}
a[k]=sum;
sum=0;
k++;/*计数*/
}
else
p++;
}
printf("total is:%d\n",k);
for(i=0;i<k;i++)
printf("%ld ",a[i]);
} 运行时出现Floating point error:Domain.为什么出现这样,我仔细查了程序,没发现错误。
望哪位帮助,不要认为这太简单了,不想回答。