lza6p 2020-03-06 17:11 采纳率: 0%
浏览 1103
已采纳

输入一个正整数n(代表图形的行数),输出如样例形式的图形。(小学生一枚,大神求解,谢谢哦)

输入:7

输出:

    D      D
    CD    DC
    BCD  DCB
    ABCDDCBA
    BCD  DCB
    CD    DC
    D      D
  • 写回答

3条回答 默认 最新

  • 格戮 2020-03-07 10:44
    关注
    #include<stdio.h>
    #include<vector>
    #include<string>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main() {
        int n;
        cin>>n;
        vector<string> a(n,""),b(n,"");
        int m=(n+1)/2;
        int p=0;
        for(int i=m-1;i>=0;i--){
            for(int j=0;j<=i;j++)
                a[i].push_back('A'+j+p);
            b[i]=a[i];
            reverse(b[i].begin(),b[i].end());
            for(int j=i+1;j<m;j++){
                a[i]+=" ";
                b[i]+=" ";
            }
            p++;
        }
        p=0;
        for(int i=n-1;i>=m;i--){
            a[i]=a[p];
            b[i]=b[p++];
        }
        for(int i=0;i<n;i++)
            cout<<a[i]<<b[i]<<endl;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?