递归问题

hitzheng 2009-03-16 08:44:24
输入行数,打印如下图形,如行数是4时
*
**
***
****
****
***
**
*
自已写了个,但是总觉得不怎么好,有人能写个让我参考一下吗?
...全文
125 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
蜥蜴枪王 2009-03-17
  • 打赏
  • 举报
回复
学习...
hitzheng 2009-03-17
  • 打赏
  • 举报
回复
最好用递归解决
sun451989 2009-03-16
  • 打赏
  • 举报
回复
最牛的c++
c++ 交流5群51680002
c++ 交流6群51680541
sun451989 2009-03-16
  • 打赏
  • 举报
回复
最牛的c++群
c++ 交流5群51680002
c++ 交流6群51680541
fairchild811 2009-03-16
  • 打赏
  • 举报
回复
3楼的前几个*是递归,后面相当于是for循环输出的
zbihong 2009-03-16
  • 打赏
  • 举报
回复
*
**
***
****
这样你看行吗?
#include<stdio.h>
void gui(int n)
{
if(n==1)
{
for(int i=0;i<n;i++) printf("*");
printf("\n");
}
else
{
gui(n-1);
for(int i=0;i<n;i++) printf("*");
printf("\n");
}
}
void main()
{
gui(4);
}
ch1oE 2009-03-16
  • 打赏
  • 举报
回复
recursion??



void print_star_1(unsigned int l_lines)
{
static unsigned int s_i = l_lines;

if(l_lines >= 1)
{
for(unsigned int i = s_i; i >= l_lines; i--) printf("*");
printf("\n");

print_star_1(l_lines - 1);

for(unsigned int i = s_i; i >= l_lines; i--) printf("*");
printf("\n");
}
}



it works, but not so clear...
酷豆 2009-03-16
  • 打赏
  • 举报
回复
不知道你用的是什么语言,贴一个用纯c的。以供参考:
#include "stdio.h"
void main()
{

int i,j,max;
printf("input int max:");
scanf("%d",&max);/*输入整数i*/
for(i=1;i<=max;i++)
{for(j=1;j<=i;j++)
putchar('*');
putchar('\n');
}
for(;i>1;i--)
{for(j=1;j<i;j++)
putchar('*');
putchar('\n');
}



}
kondykuang 2009-03-16
  • 打赏
  • 举报
回复
for(int i=1;i<5;i++)
{
for(int j=i;j>0;j--)
{
ptintf("*");
}
printf("\n");
}

第五到第八行 让i从5到1就是了···

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧