题目描述
输入一个整数打印字符图形
输入
一个整数(0<N<10)
输出
一个字符图形
样例
输入1
2
输出1
*
***
*****
***
*
输入2
5
输出2
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
参考代码:
找到图形规律即可:打印出来的图案是一个上下对称的图形,先分析出对称图形上半部分如何打印,在逆序打印下半部分即可。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N;
cin>>N;
for(int i=1;i<=N;i++)
{
string tempS="";
for(int j=N-i;j>=0;j--){
tempS+=" ";
}
for(int j=1;j<=2*i-1;j++){
tempS+="*";
}
for(int j=N-i;j>=0;j--){
tempS+=" ";
}
cout<<tempS<<endl;
}
for(int i=1;i<=2*N+1;i++){
cout<<"*";
}
cout<<endl;
for(int i=N;i>=1;i--)
{
string tempS="";
for(int j=0;j<=N-i;j++){
tempS+=" ";
}
for(int j=2*i-1;j>=1;j--){
tempS+="*";
}
for(int j=0;j<=N-i;j++){
tempS+=" ";
}
cout<<tempS<<endl;
}
return 0;
}