请问这两个数列求和代码有什么区别,为什么执行结果不同?

[复制链接]
查看11 | 回复1 | 2010-12-22 19:53:10 | 显示全部楼层 |阅读模式
#include "stdio.h"
void main()
{int f0,i,f1,sum,fn;sum=2;f1=f0=1;
for(i=1;i<=19;i++){fn=f0+f1;sum=sum+fn;f0=f1;f1=fn;}
printf("%d",sum);
}

#include "stdio.h"
void main()
{int x,i,a,sum;sum=0;a=1;x=1;
for(i=1;i<=10;i++){sum=a+x+sum;a=x+a;x=x+a;}
printf("%d",sum);
}

回复

使用道具 举报

千问 | 2010-12-22 19:53:10 | 显示全部楼层
这两个程序都是计算斐波那契数列.第一个程序是由第三项开始,逐个计算后再相加而第二个程序是由第1项开始,每计算两项再输出相加的和经过如下修改就相等了#include "stdio.h"void main(){int f0,i,f1,sum,fn;sum=2;f1=f0=1;for(i=3;i<=20;i++){fn=f0+f1;sum=sum+fn;f0=f1;f1=fn;} //这里修改为3到20项printf("%d",sum);}下面这个程序没变#include "stdio.h"void main(){int x,i,a,sum;sum=0;a=1;x=1;for(i=1;i<=10;i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行