C语言——使用循环求斐波那契

最近在准备考研复试的机试题,在看算法笔记这本书的课后习题发现这么一题,要求使用循环求斐波那契数,于是研究了一下。

#include 

int main()
{
    int n, i, sum = 0, k = 1, temp = 1;
    //输入求第几个数
    scanf("%d", &n);
    if(n == 1 || n == 2) {
        //如果是第一第二个直接输出1
        sum = 1;
    } else {
        for(i = 3; i <= n; i++) {
            //取得第i个位置上的斐波那契数的值
            sum = k + temp;
            //用k保存i-1个斐波那契数
            k = temp;
            //temp保存第i个斐波那契数
            temp = sum;
        }
    }
    printf("%d", sum);
    return 0;
}

你可能感兴趣的:(C语言——使用循环求斐波那契)