一个整数n(n≤20),表示心形的突起部分的高度。
输出一个心形的字符矩阵。
#include <iostream>
using namespace std;
int main()
{
int n,i,j,k,count;
cin>>n;
int t = 2*n - 1;
count=n;//分成两部分解决,第一部分是前n行,第二部分是2*n-1行
int kb=n-1;//空白
int x=1;//星号
while(count--)输出前n行
{
for(i=0;i<kb;i++) cout<<" ";//空白
for(j=0;j<x;j++) cout<<"*";//星号
for(i=0;i<2*kb;i++) cout<<" ";//2个凸起来星号之间的空白
for(j=0;j<x;j++) cout<<"*";
kb--;
x+=2;
cout<<endl;
}
//第二部分
count=t;
kb=0;
while(count--)
{
for(j=0;j<kb;j++)
cout<<" ";
for(i=0;i<2*t;i++)
{
cout<<"*";
}
t--;
kb++;
cout<<endl;
}
return 0;
}