怎么提取浮点数啊?
答案:1 悬赏:10 手机版
解决时间 2021-03-29 10:41
- 提问者网友:缘字诀
- 2021-03-28 14:03
怎么提取浮点数啊?
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-03-28 14:31
#include
#include
#include
#define MAX_STR_LEN 11
double strToDouble(char str[])
{
double sum,b[11];
int s,i,l,j,k,h=0;
s=strlen(str);
if(s==0)
return 0;
else
{
l=0;
for(i=0;i {
if(str[i]>='0'&&str[i]<='9')
{
b[l]=str[i]-48;
l++;
}
if(str[i]=='.')
{
if(h==0)
k=l;
h++;
}
}
sum=0;
if(h==0)
{
for(j=1;j<=l;j++)
sum+=b[j-1]*pow(10,(l-j));
}
else
{
for(j=1;j<=l;j++)
{
if(j<=k)
sum+=b[j-1]*pow(10,k-j);
else
sum+=b[j-1]*pow(0.1,j-k);
}
}
if(str[0]=='-')
return -sum;
else
return sum;
}
}
int main()
{
char s[MAX_STR_LEN];
while(gets(s) != NULL)
printf("%lg\n", strToDouble(s));
return 0;
}来自:求助得到的回答
#include
#include
#define MAX_STR_LEN 11
double strToDouble(char str[])
{
double sum,b[11];
int s,i,l,j,k,h=0;
s=strlen(str);
if(s==0)
return 0;
else
{
l=0;
for(i=0;i
if(str[i]>='0'&&str[i]<='9')
{
b[l]=str[i]-48;
l++;
}
if(str[i]=='.')
{
if(h==0)
k=l;
h++;
}
}
sum=0;
if(h==0)
{
for(j=1;j<=l;j++)
sum+=b[j-1]*pow(10,(l-j));
}
else
{
for(j=1;j<=l;j++)
{
if(j<=k)
sum+=b[j-1]*pow(10,k-j);
else
sum+=b[j-1]*pow(0.1,j-k);
}
}
if(str[0]=='-')
return -sum;
else
return sum;
}
}
int main()
{
char s[MAX_STR_LEN];
while(gets(s) != NULL)
printf("%lg\n", strToDouble(s));
return 0;
}来自:求助得到的回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯