1-1/2+1/3-1/4+...+1/99-1/100的算法用C语言编写的变量分母deno为什么是浮点数?
1-1/2+1/3-1/4+...+1/99-1/100的算法用C语言编写的变量分母deno为什么是浮点数?它明明是1到100的正整数啊,但为什么要用float去定义?...
1-1/2+1/3-1/4+...+1/99-1/100的算法用C语言编写的变量分母deno为什么是浮点数?它明明是1到100的正整数啊,但为什么要用float去定义?
展开
2个回答
2013-10-22
展开全部
变量分母如果用整型int定义的话,当deno>=2的时候,1/deno=0。 当然,整型int定义deno也可以。把1换成1.0,1.0/deno,就OK了。绝对不会有问题的。#include <stdio.h>void main()
{
int deno,flag;
double s=0;
for(deno=1,flag=1;deno<=100;flag*=-1,deno++)
s+=flag*1.0/deno;
printf("%f\n",s);
}
{
int deno,flag;
double s=0;
for(deno=1,flag=1;deno<=100;flag*=-1,deno++)
s+=flag*1.0/deno;
printf("%f\n",s);
}
2013-10-22
展开全部
两个整数运算的结果一定是整数,比如1/2等于0,而1.0/2和1/2.0等于0.5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询