欢迎光临
我们一直在努力

1011 - 空心六边形

题目描述

画图形,是我们需要研究的一个重要课程。菱形好似练的差不多了啊。那么,什么东西,能够有些新意呢?

弄个漂亮点的图形吧,空心六边形进入了我们的视线。那么我们就打印一个正六边型吧。

根据输入的边长,输出对应大小的正六边型。

输入

只有一个正整数 𝑛(0<𝑛<20n(0<n<20 ),代表正六边形的边长。

输出

是一个边长为 𝑛n 的正多边形。

样例输入

5

样例输出

*****
* *
* *
* *
* *
* *
* *
* *
*****

AC代码

#include <iostream>
using namespace std;
int c,s,p;
bool f(int w){
if(w!=1){
return true;
}
return false;
}
int main()
{
long long n;
cin>>n;
if(n==1){
cout<<"*";
return 0;
}
c=n-1,s=n;
for(int i=1;i<=n;i++){
if(i==1){
for(int j=1;j<=c;j++){
cout<<" ";
}
for(int k=1;k<=n;k++){
cout<<"*";
}
c–;
p=1;
cout<<endl;
}else p=0;
if(f(p)){
for(int j=1;j<=c;j++){
cout<<" ";
}
c–;
cout<<"*";
for(int j=1;j<=s;j++){
cout<<" ";
}
cout<<"*";
s+=2;
cout<<endl;
}
}
c=1,s=(n-2)*2+n-2;
for(int i=1;i<n-1;i++){
for(int j=1;j<=c;j++){
cout<<" ";
}
cout<<"*";
for(int j=1;j<=s;j++){
cout<<" ";
}
cout<<"*";
cout<<endl;
c++;
s-=2;
}
for(int i=1;i<=n-1;i++){
cout<<" ";
}
for(int i=1;i<=n;i++){
cout<<"*";
}
return 0;
}

赞(0)
未经允许不得转载:171主机测评 » 1011 - 空心六边形
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址