以下程序的输出结果是#includeint fun(int n,int *s){ int f1,f2;if(n==0||n==1)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}}void main(){int x;fun(6,&x);printf("\n%d",x);}..

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 07:52:49

以下程序的输出结果是#includeint fun(int n,int *s){ int f1,f2;if(n==0||n==1)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}}void main(){int x;fun(6,&x);printf("\n%d",x);}..
以下程序的输出结果是
#include
int fun(int n,int *s)
{ int f1,f2;
if(n==0||n==1)
*s=1;
else
{fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}}
void main()
{
int x;
fun(6,&x);
printf("\n%d",x);
}
..

以下程序的输出结果是#includeint fun(int n,int *s){ int f1,f2;if(n==0||n==1)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}}void main(){int x;fun(6,&x);printf("\n%d",x);}..
其实,就是 斐波那契数列
1,1,2,3,5,8,13……
结果当然是数列中第n个数字是多少(假设编号从0开始)
这个程序的意思是:
求的结果*s 是 n-1的*s 加上 n-2的 *s
转换成数学中文版就是:有这么一个数列,第0个数字和第一个数字都是1
从第2个数字开始,结果等于本书列前两项之和.
此递归函数完美的说明了这个问题,
递归函数最简单的理解是:你只管你直观的思维,只要知道这个数字等于前两项之和就行了,直接把它写出来就行了,具体它怎么实现的,你不用去管,只管让计算机自己去做就成了!

以下程序运行后的输出结果是: i=0:n=0 Do while i 以下程序的输出结果是【8】 #include main() { int i以下程序的输出结果是【8】  #include   main()  { int  i,j,sum;    for(i=3;i>=1;i--)    {  sum=0;       for(j=1;j 以下程序段的输出结果是int x=3;以下程序段的输出结果是int x=3;do{printf(”%3d”,x-=2);}while(!(--x));请写明原因, 若有定义:int k;,以下程序段的输出结果是【##2##4】.for(k=2;k 以下程序输出的结果是 main() {int x; x=-3+4%6/5; printf(%d,x); } 以下程序的输出结果是() int x=10,y=10;printf(%d %d ,x--,--y); 以下程序运行后的输出结果是() main() {char m; m='B'+32; printf(%c/n,m);} 以下程序运行后的输出结果是() main() {char m; m='B'+32; printf(%c/n,m);} 以下程序的运行结果是输出如下图形** * ** * * * ** * * * * * ** * * * * * * * *#includevoid a(int i){int j,k;for(j=0;j 1.有以下程序 main() { int y=10; while(y--); printf(y=%d ,y); } 程序执行后的输出结果是(b) A) 运行如图所示的程序框图,输出的结果是 如图所示的程序框图,其最后输出的结果是 如图所示的程序框图,输出b的结果是 算法程序框图如图所示,最后输出的结果是 若有以下程序段 Int r=8 printf(%d ,x>>1); 输出结果是? 以下程序运行后输出结果是( ).#define MIN(m,n) m 以下程序输出结果是() main( ) { char x=‘C’;x=(x>=‘A’&&x 以下程序运行后的输出结果是?main(){int a=3,b=4,c=5,t=99;if(b