题解 | #箭形图案#
箭形图案
http://www.nowcoder.com/practice/a6d1081e0c9a42f19e42ed6cd91556c1
c++评论区都是用两个循环做的,给大家提供一个占用内存大,但是运行时间少的一个循环的写法吧,如果有改进欢迎您评论
#include <iostream>
#include <string>
using namespace std;
int main()
{
int num;
while(cin>>num)
{
bool active = false;//当*号输出到达最大时,改变递增方向
int i=1;
while(i)
{
cout<<string(2*num,' ')<<string(i,'*')<<endl;
if(num==0)
active = true;
if(active)
{
i--;
num++;
}
else
{
i++;
num--;
}
}
}
return 0;
}