斐波那契數列的幾種情況
阿新 • • 發佈:2021-01-11
**幾種輸出斐波那契數列或者其中數的情況
1.輸出第n個斐波那契數
2.輸出前n個斐波那契數列中的數
3.輸出斐波那契數數小於c時的輸出值(while,do-while)
一、輸出第n個斐波那契數
前三個數比較特殊,為了便於理解,我把前三個數單獨拿出來,單個輸出,雖然過程長一點,但是意思更淺顯。
以下是使用if語句的程式碼塊
//以下為程式碼塊
//輸出第n個數
#include<stdio.h>
int main(void){
int a=0,b=1,c,d,n,i=3;
printf("你想輸出的第n個斐波那契數,n=" );
scanf("%d",&n);
if(n==1){
printf("第一個斐波那契數為0");
}else if(n==2) {
printf("第2個斐波那契數為1");
}else if(n==3) {
printf("第3個斐波那契數為1");
}else if(n>3){
do{
a=b;
b=c;
c=a+b;
i++;
}while(i<n);
printf("第%d個斐波那契數為:%d" ,n,c);
}
return 0;
}
示例結果:
二.輸出前n個斐波那契數列中的數
//#include<stdio.h>
int main(void){
int a=0,b=1,c,d,n,i=3;
printf("你想輸出的斐波那契數列數的個數n=");
scanf("%d",&n);
if(n==1){
printf("0\t");
}else if(n==2) {
printf("0\t1\t");
}else if(n>2){
printf("0\t1\t1\t" );
for(c=2;i<n;i++){
printf("%d\t",c);
a=b;
b=c;
c=a+b;
}
}
return 0;
}
示例結果:
3.輸出斐波那契數數小於c時的輸出值(while,do-while)
-------while 語句執行
在此我將其數限制在1000以內,
//while迴圈方式
#include<stdio.h>
int main(void){
int a=0,b=1,c;
c=a+b;
printf("0\t1\t");
while(c<1000){
printf("%d\t",c);
a=b;
b=c;
c=a+b;
}
return 0;
}
-------do–while 語句執行*
#include<stdio.h>
int main(void){
int a=0,b=1,c;
c=a+b;
printf("0\t1\t");
do{
printf("%6d\t",c);
a=b;
b=c;
c=a+b;
}while(c<1000);
return 0;
}
-//執行為下列情況
今天簡單的說了以下斐波那契數列的簡單情況,在Dev c++中執行編譯的,在其他地方可能有警告(scanf)