フィボナッチ数で回帰を使わずに動かしたいです。
自分はwhileの中身をどうにかできたら動く思うのですがどうですか?
アドバイスをください。
#include <stdio.h>
int fib(int n);
main(){
int n;
printf("0以上の数字を打ち込んでください\n n=");
scanf("%d", &n);
if(n<0){
printf("0以上を打ち込んでください");
}
printf("%d",fib(n) );
}
int fib(int n){
int f;
int f0,f1,f2;
f0=0;
f1=1;
switch(n){
case 1:
case 2:
f = 1;
break;
default:
while(f1<n){
f2 = f1 + f0;
f0 = f1; f1 = f2; f = f2; }; break;
}
return f;
}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。