由于这题的图突然不见了,凭我的记忆写下原来的程序并附上PASCAL的。
C源程序
#include<stdio.h>
1 int fibonacci(int n);
2 {
3 if (n<2) return 1;
4 else {
5 fibonacci(n-1);
6 fibonacci(n-2);
7 }
8 }
9 int main() {
10 int n,scanf("%d",&n);
11 fibonacci(n);
12 }
PASCAL源程序
var n : longint;
1 procedure fibonacci(n:longint);
2 begin
3 if n<2 then exit
4 else begin
5 fibonacci(n-1);
6 fibonacci(n-2);
7 end;
8 end;
9 begin
10 read(n);
11 fibonacci(n);
12 end.
希望这对大家有帮助!
不好意思,打错了。
C源程序
#include<stdio.h>
1 int fibonacci(int n);
2 {
3 if (n<2) t++;
4 else {
5 fibonacci(n-1);
6 fibonacci(n-2);
7 }
8 }
9 int main() {
10 int n,t=0;scanf("%d",&n);
11 fibonacci(n);
12 }
PASCAL源程序
var n,t : longint;
1 procedure fibonacci(n:longint);
2 begin
3 if n<2 then t:=t+1
4 else begin
5 fibonacci(n-1);
6 fibonacci(n-2);
7 end;
8 end;
9 begin
10 read(n);t:=0;
11 fibonacci(n);
12 end.
再次向大家道歉,由于打得太快,错误多多,敬请见谅。
以下给出没有语法错误和数字错误的程序。
这与原题中的程序稍有出入,如有流程图上的错误请指正!
#include<stdio.h>
int t=0;
1 int fibonacci(int n){
2 if (n<2){
3 t++;
4 } else {
5 fibonacci(n-1);
6 fibonacci(n-2);
7 }
8 }
9 int main() {
10 int n,scanf("%d",&n);
11 fibonacci(n);
12 }
var n,t : longint;
1 procedure fibonacci(n:longint);
begin
2 if n<2 then begin
3 t:=t+1;
4 end else begin
5 fibonacci(n-1);
6 fibonacci(n-2);
7 end;
8 end;
9 begin
10 read(n);t:=0;
11 fibonacci(n);
12 end.