如何用c++写一个块金字塔?
发布网友
发布时间:2022-05-17 20:50
我来回答
共1个回答
热心网友
时间:2023-11-07 10:28
#include<iostream>
using namespace std;
int main()
{
int n,i,j,k,m;
cout<<"input number:";
cin>>n;
for(i=1;i<=n;i++)
{
for(m=0;m<=n-i-1;m++)cout<<" ";
for(j=0;j<=2*i+1;j++)cout<<"*";
cout<<endl;
for(m=0;m<=n-i-1;m++)cout<<" "; //偶数行空格
for(k=0;k<=i;k++cout<<"* ";//改为"* "
cout<<endl;
}
for(j=0;j<=2*i-1;j++)cout<<"*"; //最后一行
return 0;
}
追问
我是这么写的。。但是总会前面多一个空格啊?有什么改进方法吗。希望双数行就是* *这样前后都没有空格?
现在输出的结果是这样的
追答#include<iostream>
using namespace std;
int main()
{
int n,i,j,k,m;
cout<<"input number:";
cin>>n;
for(i=0;i<n;i++)
{
for(m=0;m<n-i-1;m++)cout<<" ";
for(j=0;j<=2*i+3;j++)cout<<"*";
cout<<endl;
for(m=0;m<n-i-2;m++)cout<<" ";
for(k=0;k<i+2;k++)cout<<" *";
cout<<endl;
}
for(j=0;j<=2*i-1;j++)cout<<"*";
return 0;
}