Печать чисел Фибоначчи до n в C - PullRequest
0 голосов
/ 05 ноября 2019

В следующем коде используется пользовательская функция для печати чисел Фибоначчи по выбору пользователя. Единственная проблема состоит в том, что выходные данные включают в себя первые n чисел Фибоначчи, за которыми следует ноль. (например, 1,1,2,3,5,8,0) Как мне избавиться от нуля?

#include <stdio.h>
int fibonacci(int a);
int main()
{
    int j, number;
    printf("Enter the number of terms: ");
    scanf("%d", &number);
    printf("Fibonacci Series: ");
    j = fibonacci(number);
    printf("%d", j);
}

int fibonacci (int a)
{
    int num1 = 1, num2 = 1, k, i;
    for (i = 1; i <= a; ++i)
    {
        printf("%d, ", num1);
        k = num1 + num2;
        num1 = num2;
        num2 = k;
    }
    return 0;
}

1 Ответ

0 голосов
/ 07 ноября 2019

Я узнал, что мы должны что-то возвращать при использовании функций, отличных от main.

Если вы узнали, что , вам следует поискать лучший источник обучения,Вы могли бы хорошо написать:

void fibonacci(int a)
{
    int num1 = 1, num2 = 1, k, i;
    for (i = 1; i <= a; ++i)
    {
        printf("%d, ", num1);
        k = num1 + num2;
        num1 = num2;
        num2 = k;
    }
}

...