如何在C语言中的这个斐波那契数列程序中纠正错误?

问题描述 投票:0回答:1
#include<stdio.h>

int main() {

    int sum;
    int n,num1,num2;
    printf("Enter a number:");
    scanf_s("%d", &n);

    if (n >= 1)
        num1 = 1;
    if (n >= 2) {
        num2 = 1;
        sum = num1 + num2;
        printf("%d\n", sum);
    }
    int say = 2;
    while (say <= 10) {
        if (n >= 3) {
            sum = sum + n;
            printf("%d\n", sum);
            n++;
            say++;
        }
        if (say== 10)
            break;
    }
}

输入10的输入数字时,我找不到错误程序正在像这样工作

2 
12 
23
35
48
62
77
93
110
c fibonacci
1个回答
1
投票

这看起来很像,但不像创建斐波那契数列的代码。看一下这个实现。

#include <stdio.h>

unsigned long long a = 0;
unsigned long long b = 1;

for(int i = 0;i < 50; i++){
    unsigned long long old_b = b;
    b += a;
    a = old_b;
    printf("%llu\n", b);
}

斐波那契序列只是简单地将先前值连续添加到当前值。因此您只需要跟踪先前的值即可。

<< [
© www.soinside.com 2019 - 2024. All rights reserved.