金字塔
#include<iostream>
using namespace std;
int main()
{
int i,j,k,p,q;
cout<<"输入三角的高度:";
cin>>k;
for(i=0;i<k;i++)
{
for(p=0;p<k-i;p++)
cout<<" ";
cout<<"x";
for(j=0;j<=2*i-1;j++)
cout<<"x";
//if(i)
//cout<<"*";
cout<<endl;
}
return 0;
}
下面是自己想的方法,虽然有点麻烦,但是也能实现,不过就是可用性可能稍差,毕竟自己思考的,记录下来:
#include<iostream>
using namespace std;
int main()
{
int i,m,j,n;
cout<<"输入三角的高度:";
cin>>n;
for(i=1;i<=80*n;i++)
{
m=i/80; //行数-1
if(i==79*m+41) //如果到达80*m+41-m的位置(m为行数-1;41为第一行x的位置),就开始输出x
{
for(j=79*m+42;j<=(79*m+42)+(2*m);j++) //控制输出多少个x:2*m+1 个
{
cout<<'x';
i++; //此时x也要增长
}
}
cout<<' ';
}
return 0;
}