C++ 输出倒三角

枫子0102 2008-03-03 11:55:44
用C++ 输出一个 形如下面的三角

*
**
***
****

*
**
***
****
***
**
*

麻烦尽量用简单点的方法
谢了...
...全文
1588 21 打赏 收藏 举报
写回复
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
FALLEAFCSHARP 2008-03-07
  • 打赏
  • 举报
回复
简单的方法?

printf(" *\r\n **\r\n ***\r\n****\r\n.......
yixiao386 2008-03-06
  • 打赏
  • 举报
回复
不管倒着的三角还是正着的三角,把他分割成四个三角 或者多个 这样代码就自然出来了
ecjtuwzj 2008-03-06
  • 打赏
  • 举报
回复
支持这个,不过好象少了头文件
枫子0102 2008-03-06
  • 打赏
  • 举报
回复
谢谢大家了
我自己在好好想象看..
sheenl 2008-03-04
  • 打赏
  • 举报
回复
你的编译器不合格, 不会是vc6吧, 那个东西的循环变量作用域不符合标准。
xqls_xqls 2008-03-04
  • 打赏
  • 举报
回复
错了:提示有错误!
f:\c++程序设计 课后练习\临时文件\临时测试\text6.cpp(27) :error C2374: 'i' : redefinition; multiple initialization
f:\c++程序设计 课后练习\临时文件\临时测试\text6.cpp(27) : see declaration of 'i'
f:\c++程序设计 课后练习\临时文件\临时测试\text6.cpp(41) : error C2374: 'i' : redefinition; multiple initialization
f:\c++程序设计 课后练习\临时文件\临时测试\text6.cpp(27) : see declaration of 'i'
f:\c++程序设计 课后练习\临时文件\临时测试\text6.cpp(45) : error C2374: 'i' : redefinition; multiple initialization
f:\c++程序设计 课后练习\临时文件\临时测试\text6.cpp(27) : see declaration of 'i'
执行 cl.exe 时出错.

应该为:

#include <iostream>
using namespace std;

void show(int num, int totalnum, int flag=0)
{
int indent = (totalnum-num);

if (flag == 0)
{
for (int i=0; i<indent; i++)
{
cout<<' ';
}
}

for (int i=0; i<num; i++)
{
cout<<"* ";
}
cout<<endl;
}

int main(void)
{
int NUM = 5;

for (int i=1; i<NUM; i+=1)
{
show(i, NUM);
}

cout<<endl;

for (int j=1; j<NUM; j+=1)
{
show(NUM-j, NUM );
}

cout<<endl;

for (int k=1; k<NUM; k+=1)
{
show(k, NUM, 1);
}
for (int m=2; m<NUM; m+=1)
{
show(NUM-m, NUM, 1);
}

return 0;
}

sheenl 2008-03-04
  • 打赏
  • 举报
回复
格式错了, 再来一次吧。


#include <iostream>
using namespace std;

void show(int num, int totalnum, int flag=0)
{
int indent = (totalnum-num);

if (flag == 0)
{
for (int i=0; i<indent; i++)
{
cout<<' ';
}
}

for (int i=0; i<num; i++)
{
cout<<"* ";
}
cout<<endl;
}

int main(void)
{
int NUM = 5;

for (int i=1; i<NUM; i+=1)
{
show(i, NUM);
}

cout<<endl;

for (int i=1; i<NUM; i+=1)
{
show(NUM-i, NUM );
}

cout<<endl;

for (int i=1; i<NUM; i+=1)
{
show(i, NUM, 1);
}
for (int i=2; i<NUM; i+=1)
{
show(NUM-i, NUM, 1);
}

return 0;
}
sheenl 2008-03-04
  • 打赏
  • 举报
回复
[code=C/C++]
#include <iostream>
using namespace std;

void show(int num, int totalnum, int flag=0)
{
int indent = (totalnum-num);

if (flag == 0)
{
for (int i=0; i<indent; i++)
{
cout<<' ';
}
}

for (int i=0; i<num; i++)
{
cout<<"* ";
}
cout<<endl;
}

int main(void)
{
int NUM = 5;

for (int i=1; i<NUM; i+=1)
{
show(i, NUM);
}

cout<<endl;

for (int i=1; i<NUM; i+=1)
{
show(NUM-i, NUM );
}

cout<<endl;

for (int i=1; i<NUM; i+=1)
{
show(i, NUM, 1);
}
for (int i=2; i<NUM; i+=1)
{
show(NUM-i, NUM, 1);
}

return 0;
}
[/code/
machong1988 2008-03-04
  • 打赏
  • 举报
回复
反正在cmd中显示的就是对齐的,我不知道为什么刚才我发的成了那样,高手来解释
machong1988 2008-03-04
  • 打赏
  • 举报
回复
或者是
*
**
***
总之是要对齐的啊
machong1988 2008-03-04
  • 打赏
  • 举报
回复
代码肯定好实现,但是大家有没有发现第一个三角有点特别?第一行是一个*,第二行是两个*,如果用cout输出的话肯定会是这样子的
*
**
***
****
不大清楚模板库中是否能实现,但我感觉这像是个耍人程序,第二个三角应该是楼主在发帖时的失误
建议大家可以探讨下,能否用C++实现
  • 打赏
  • 举报
回复

#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int lenth;
cin>>lenth;
int temp=lenth;
for(int i=1;i<=lenth;i++)
{

for(int j=temp;j>=0;j--)
{
cout<<" ";
}
for(int k=i;k>0;k--)
{
cout<<"*";
}
temp=temp-1;
cout<<"\n";
}

}
jaymin 2008-03-04
  • 打赏
  • 举报
回复
试下这个:
#include<iostream>
using namespace std;
int main()
{
for(int i=3;i>=0;i--)
cout<<string(i,' ')+string(4-i,'*')+"\n";
for(int j=1;j<=4;j++)
cout<<string(j,'*')+"\n";
for(int k=3;k>=1;k--)
cout<<string(k,'*')+"\n";
return 0;
}
bsqsbylt 2008-03-04
  • 打赏
  • 举报
回复
仔细看看每一行的规律,空格和星个数之间怎么变化,并且两者之和一样。循环一下
天亮后说晚安 2008-03-04
  • 打赏
  • 举报
回复
飘过!
lucian2007 2008-03-03
  • 打赏
  • 举报
回复
说的也是最简单的直接输出cout
baihacker 2008-03-03
  • 打赏
  • 举报
回复
要简单的话直接cout
难道LZ说的是用for循环?
要复杂的话可以模板偏特化
ltc_mouse 2008-03-03
  • 打赏
  • 举报
回复
DIY
liufangbj 2008-03-03
  • 打赏
  • 举报
回复
飘过 支持DIY
moonse 2008-03-03
  • 打赏
  • 举报
回复

模板偏特化似乎也少不了循环
还不如直接用stl呢
加载更多回复(1)
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-03 11:55
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下