编程论坛's Archiver

zh76029412 发表于 2007-11-21 14:52

讨论 递归算法 实现,用途?

<P>本题找错!!<BR>不知道那里出问题了,请大虾,牛人多多指教,<BR>小弟在此先谢谢了!!<BR><BR>#include &lt;stdio.h&gt;<BR>void mian()<BR>{<BR> int i;<BR> int fact();<BR> for(i=0;i&lt;=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>

yzzfei 发表于 2007-11-21 15:29

<P>#include &lt;stdio.h&gt;<BR>void mian()//应该是main()<BR>{<BR>int i;<BR>int fact();//函数里面不能定义其他函数,只能调用;<BR>for(i=0;i&lt;=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 &lt;stdio.h&gt;<BR>int fact(int);<BR>void main()<BR>{<BR>int i;<BR>for(i=0;i&lt;=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>

论坛元老 发表于 2008-4-2 15:00

路过,顶一下

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.