【发布时间】:2016-07-14 13:48:31
【问题描述】:
我正在尝试计算用户输入的斐波那契数列。因此,如果用户输入 10,程序将输出序列中最多 10 的所有数字,在这种情况下为 0、1、1、2、3、5、8
这是我的代码:
#include <stdio.h>
int main ()
{
/* variable definition: */
int a, b, usrNumber;
/* Initialize */
a = 0;
b = 1;
usrNumber = 0;
/* Ask user for number */
printf("Please enter a positive number\n");
scanf("%d", &usrNumber);
/* Conduct Loop */
while (b < usrNumber)
{
printf("%d \n",a);
a += b;
printf("%d \n",b);
b += a;
}
return(0);
}
当我运行它 10 和 60 时,序列会比预期的少一个数字。当我运行 90 或 300 时,序列按预期工作。关于为什么我不能让较低的数字工作的任何想法?
【问题讨论】: