第2个回答 2010-02-08
只写了输入一个的,两个的同理,自己写吧
#include <stdio.h>
#include <math.h>
int is_numeric(char *);
int main()
{
float a1;
float a[2]={0.0};
char rec1[20]={'\0'};
char *p1;
int flag=0,count1=1,count2=1;
printf("please input float number:\n");
scanf("%s",rec1);
p1=rec1;
while(!is_numeric(p1))
{
printf("error!please input correct number!\n");
scanf("%s",rec1);
}
while (*p1!='\0')
{
if (*p1=='.')
{
flag=1;
p1++;
continue;
}
if (!flag)
{
a[0]=a[0]*10+(*p1-48);
}
if (flag)
{
a[1]=a[1]+(*p1-48)*pow(0.1,count1);
count1++;
}
p1++;
}
a1=a[0]+a[1];
printf("the number you input is:\n%f\n",a1);
return 0;
}
int is_numeric(char *p)
{
if (*p>=48 && *p<=57)
{
return 1;
}
else
return 0;
}