空心六边形

分析问题

先使用拼接法完成菱形的打印

实现空心菱形

为菱形增加宽度

编写思路:

1 先打印三角形

2 打印等腰三角形

3

建立模型

输入上半部分

打印空格

打印一个三角形

​ 如果是第一行、第1列、最后1列,打印星号

​ 否则 打印空格

输出下半部分

打印空格

打印倒三角形

​ 如果最后一行、第1列、最后1列,打印星号

​ 否则 打印空格

编写代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int i,j,k;
    for(i=1;i<=n;i++){
        //打印空格
        for(k=1;k<=n-i;k++){
            cout<<" ";
        }
        //打印三角形
        for(j=1;j<=2*i-1+n-1;j++){
            if(i==1) {
              cout<<"*";
            }else{
              if(j==1 || j==2*i-1+n-1)
              {
                cout<<"*";
              }else{
                cout<<" ";
              }
            }
        }
        cout<<"\n";
    }
    for(i=1;i<=n-1;i++){
        //打印空格
        for(k=1;k<=i;k++){
            cout<<" ";
        }
        //打印三角形
        for(j=1;j<=2*(n-1)-2*i+1+n-1;j++){
            if(i==n-1){
                    cout<<"*";
            }else{
                 if(j==1 || j==2*(n-1)-2*i+1+n-1)
              {
                cout<<"*";
              }else{
                cout<<" ";
              }
            }
        }
        cout<<"\n";
    }
    return 0;
}

保存 编译 运行