【发布时间】:2013-11-01 19:55:55
【问题描述】:
所以这位老师让我们编写 2 个代码,其中一个打印出一个三角形图案,带有字符“*”!他告诉我们这样做,使用循环 for。我设法做到了以下代码:
#include <iostream>
using namespace std;
int main()
{
int i,j;
for(i=1;i<11;i++)
{
cout<<endl;
for(j=1;i>j;j++)
{
cout<<'*';
}
}
for(i=10;i>0;i--)
{
cout<<endl;
for(j=1;i>j;j++)
{
cout<<'*';
}
}
cin.get();
return 0;
}
它运行完美。但是当我看到第二个时,我的心就僵住了!据说他写了一段代码,打印出这样的模式:
*
***
*****
*******
*****
***
*
我什至不知道如何开始写它!有人可以帮忙吗?
【问题讨论】:
-
您有一个程序可以打印所需内容的右半部分。您将如何修改它以打印左半部分?现在,您将如何将它们粘在一起?
-
我总是这样解决这种问题:
for (auto *p = " *\n ***\n *****\n*******\n *****\n ***\n *\n"; *p; std::cout << *p++); -
@Zack 非常感谢!学别人怎么钓鱼吧? xD@indiv 对此感到抱歉,我是一个绝对的初学者!需要一些时间来适应!
-
如果不学习钓鱼,家庭作业有什么用? ;-) 对于这个网站来说,这不是一个好问题,但不要因为问了这个问题而感到羞耻。这一次我们都是新手。
标签: c++