Salve ragazzi,
il programma in questione deve restituire il numero della sequenza di fibonacci corrispondente al numero digitato dall'utente.
Per lo più funziona, ma per alcuni valori ( 100 ad esempio ) il programma restituisce valori negativi (?). Inoltre per n=0 il programm oltre ad entrare nel ramo if corrispondente, va anche oltre e stampa ancora un numero negativo. Vi posto il codice:
codice:
 #include<stdio.h>
#include<stdlib.h>
main()
{
      int a,b,c,n,fn;
      a=0;
      b=1;
      c=2;
      scanf("%d", &n);
      if(n==0) printf("Il valore deve essere strettamente maggiore di 0\n ");
      if(n==1) fn=0;
      for(c=2;c<n;c++)
      { 
           fn= a+b;
           a=b;
           b=fn;
      }
      printf("Il valore corrispondente e' %d\n", fn);
      system("pause");
}