以下是引用斋宅窄寨在2014-1-20 15:21:29的发言:
那和我的同样用了两个if,在时间上应该没有区别吧?
你的第一个if(x<=1)那和我的同样用了两个if,在时间上应该没有区别吧?
计算了0, -1, -2, -3.......调用都没结束条件了.
#include <stdio.h> int main() { double a[51]; // 数组大小为51 double可以考虑用long long 我的主要是编译器不支持. int i, n; a[0] = 0; a[1] = 1; for (i = 2; i < 51; i++) a[i] = a[i-1] + a[i-2]; scanf("%d", &n); // 输入n, printf("%.0f\n", a[n]); // 输出第n项. return 0; }