二、 编写一个递归函数,计算并返回斐波那契数列中第n项的值,斐波那契数列定义如下:
fib(1)=1,fib(2)=1
Fib(n)= Fib(n-1)+Fib(n-2)
#include
fib(int n)
{if(n==0)return(0);
else if(n==1)return(1);
else
return(fib(n-1)+fib(n-2));
}
main()
{int n,s;
scanf("%d",&n);
s=fib(n);
printf("%d\n",s);
}
scanf用法:
输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。
scanf("%s",s);改为scanf("%s",&s);
scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);
格式控制字符串包含:格式控制说明,普通字符。
1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)
2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d\n"中的fahr=,celsius=。
3、输入的参数是变量的地址,所以要在变量前面加&。
编写程序, 从键盘输入一个整数N(N<=10),然后计算并输出 S=1+21+22+…+2|N| 是次方
帮帮忙 急!!