C语言:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

#include<stdio.h>intmain(){intn;doublea,b,sum,t;for(n=1;n<=20;n++){sum+=a/b;t=a;a=a+b... #include<stdio.h>
int main()
{
int n;
double a,b,sum,t;
for(n=1;n<=20;n++)
{
sum+=a/b;
t=a;
a=a+b;
b=t;
}
printf("%.20lf\n",sum);
return 0;
}

以上是我编写的代码,但是为什么输出的结果却是负数呢?是数据类型错了吗?
展开
 我来答
知即死
2013-03-02 · 超过13用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:30.7万
展开全部
变量定义完了要赋初值啊,
a,b,sum由于没有初值,里边的值都是“垃圾值”,也就是没有意义的值
c是不支持局部变量自动赋初值的
所以的这段程序的运行结果肯定不是你想要的。。。
你可以先
a = 2;
b= 1;
sum = 0;一下
veket的小号
2013-03-02 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3988万
展开全部
a、b的初始值。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ifddiirt524383
2019-12-23 · 贡献了超过4212个回答
知道答主
回答量:4212
采纳率:0%
帮助的人:266万
展开全部
飞跃第一部分21314要出个飞跃第一部分21314要出个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式