设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1580|回复: 6
打印 上一主题 下一主题

关于递归的问题..

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 03:03:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<iostream.h>
void print(int w)
{for(int i=1;i<=w;i++)
{for (int j=1;j<=i;j++)
cout<<i<<" ";
cout<<endl;
}
}
void main()
{print(5);}
运行后显示:1
2 2
3 3 3
4 4 4 4
5 5 5 5 5

现在要把print函数写成递归函数...是课本上的习题...本人实在想不出来...望高手指教..谢谢啦
2#
发表于 2009-11-3 03:03:25 | 只看该作者
void print( int w )
{
if( w == 1 ) {
cout << w << endl;
}
else {
print( w - 1 );
for( int j = 1; j <= w; j++ )
cout << w << ' ';
cout << endl;
}
}
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 03:03:26 | 只看该作者
void print(int n){
if (n > 0){
print(n-1);
for (int i = 0;i < n;++i)
cout << n << " ";
cout << endl;
}
}
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 03:03:27 | 只看该作者
以下是引用aipb2007在2007-11-13 23:23:59的发言:

void print(int n){
if (n > 0){
print(n-1);
for (int i = 0;i < n;++i)
cout << n << " ";
cout << endl;
}
}
就是强
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 03:03:28 | 只看该作者
void Print(int n,int m)
{
if(m==0)
{
return ;
}
if(n==0)
{
m--;
Print(m,m);
cout<<endl;
}
else
{
Print(n-1,m);
cout<<m<<" ";
}
}
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 03:03:29 | 只看该作者
谢谢各位高手啦
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 03:03:30 | 只看该作者
....对递归的过程相当了解了!学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 07:42 , Processed in 0.082914 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表