Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Resolvi de outra forma, muito feio fazer assim?

Segue o código:

#include <stdio.h>
#include <stdlib.h>

void fibo(int a, int b, int qtd) {
  if (qtd == 0) return;

  int c;
  c = a + b;
  printf("%d.\n", c);

  fibo(b, c, qtd - 1);
}

int main() {
  int qtd;
  printf("Quantos numeros da Fibonacci voce quer ver?\n");
  scanf(" %d", &qtd);
  fibo(0, 1, qtd);
}

Basicamente ele pede pro usuário quantos números da sequencia quer que printe, dai ela pega esse número e vai gerando os valores da fibonacci começando do 0 e do 1 em ordem crescente.

Mas eu declarei a função fibo() como "void" pq ela tava retornando nada pro main(), tem algum problema? Na resposta do exercício é um int.

1 resposta

Você disse que os dois códigos tem a mesma saída, então você resolveu o exercício um pouco diferente, mas não pode-se dizer que está errado. Existem várias maneiras de solucionar um problema quando se programa, e você só escolheu uma diferente da do exercício.

Espero ter ajudado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software