讨论 递归算法 实现,用途?
<P>本题找错!!<BR>不知道那里出问题了,请大虾,牛人多多指教,<BR>小弟在此先谢谢了!!<BR><BR>#include <stdio.h><BR>void mian()<BR>{<BR> int i;<BR> int fact();<BR> for(i=0;i<=5;i++)<BR> printf("\40:%d!=%d",i,fact(i));<BR>}</P><P>int fact(j)</P>
<P>int j;<BR>{<BR> int sum;<BR> if(j==0)<BR> sum=1;<BR> else<BR> sum=j*fact(j-1)<BR>return sum;<BR>}</P> <P>#include <stdio.h><BR>void mian()//应该是main()<BR>{<BR>int i;<BR>int fact();//函数里面不能定义其他函数,只能调用;<BR>for(i=0;i<=5;i++)<BR> printf("\40:%d!=%d",i,fact(i));//("i=%d,fact(i)=%d\n",i,fact(i));\n换行;<BR>}</P>
<P>int fact(j)//函数定义应该在第一次调用之前;main()函数已经调用该函数;</P>
<P>int j;//参数应该在第一次使用之前定义,如int fact(int j)<BR>{<BR>int sum;<BR>if(j==0)//递归调用的每个if都应该有return<BR> sum=1;<BR>else<BR> sum=j*fact(j-1)<BR>return sum;<BR>}<BR>下面是已经通过编译的代码:<BR>#include <stdio.h><BR>int fact(int);<BR>void main()<BR>{<BR>int i;<BR>for(i=0;i<=5;i++)<BR> printf("i=%d,fact(i)=%d\n",i,fact(i));<BR>}<BR>int fact(int j)<BR>{</P>
<P>if(j==0)<BR> return 1;<BR>else<BR> return j*fact(j-1);<BR>}</P> 路过,顶一下
页:
[1]
