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");
}