按照函数原形语句“void p(int n);编写一个递归函数显示如下图形,此图形是n=5的情况!
1
22
333
4444
55555
写了几次,可能是我递归“归”错了位,还是大家帮我写出来吧,谢了!
#include<iostream.h>
void p(int n) { if(n!=0) p(--n); for(int i=n; i>0; i--) cout<<n; cout<<endl; }
void main() { int n; cin>>n; p(n); }
说实话,现在对递归还不是了解地很透彻
不过偶喜欢 递归切返 这个名词儿。
这还不简单 p(n) ——》p(n+1)
就好了!!
在下觉得其实外部内部也没啥区别,只要真正递归开始的时候传递的实参是5就可以了
这样在 切返 时 参数n的值才能回溯到5并打印出来。
void p(int a) { int temp;
if(a==1)printf("%d\n",a); else { p(a-1); temp=a; while(temp) { printf("%d",a); temp--; } printf("\n"); } }
嘿嘿
请问一下 楼上 那位,你的 “ 点这里” 的链接是怎么 做出来的,有意思哦
大家 分享 一下撒
[此贴子已经被作者于2005-11-19 19:54:15编辑过]