编写程序,要求输入N的值,输出如图所示的图形。
例如输入N=5,输出:
其中小三角形行数和大三角形行数都为5
算法思路:
略
实现代码:
/*
* copy right by Zhanhang
* qq:273711460
* e-Mail:zhanxinhang@gmail.com
* HomePage:http://blog.youkuaiyun.com/zhanxinhang
*/
#include <iostream>
using namespace std;
void print_triangle(int n,int x,int t)
//n为每个小三角形的行数,x为连续输出三角形的个数,t为三角形的向右的位移(1表示1个空格)
{
int i,k,j;
for(i=0;i<n;i++) //控制行数
{
for(k=0;k<t;k++) //控制位移
cout<<' ';
for(j=x;j>0;j--) //控制个数
{
for(k=n-1;k>i;k--)
cout<<' ';
for(k=0;k<i*2+1;k++)
cout<<'*';
for(k=n;k>i&&j>1;k--)
cout<<' ';
}
cout<<endl;
}
}
int main()
{
int i,k,N,t;
cout<<"please input N:";
cin>>N;
for(i=1;i<=N;i++) //控制大三角形行数
{
t=N*(N-i);
print_triangle(N,i,t);
}
return 0;
}
======= welcome to my HomePage(http://blog.youkuaiyun.com/zhanxinhang) to have a communication =======