美文网首页
基础练习-字母图形

基础练习-字母图形

作者: 嘉敏的豆子 | 来源:发表于2018-03-16 20:02 被阅读0次

输入 5 7
输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
其中
1 <= n, m <= 26。


我自己的代码:

#include <stdio.h>
#include <iostream>
#include <cmath>
using namespace std;
char c[27]={' ','A','B','C','D','E','F','G','H','I','J','K','L',
    'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
};
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(i-j>=0){
                cout<<c[i-j+1];
            }
            else{
                int t =fabs(i-j)+1;
                cout<<c[t];
            }
        }
        cout<<endl;
    }
    return 0;
}

其中在写if-else条件的时候有点粗心

后来看了一些别人的博客,发现如果直接用26的数组就很好了。

char c[26]={'A','B','C','D','E','F','G','H','I','J','K','L',
    'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
};

输出也不需要+1操作,for循环还可以更简洁[捂脸]

for(int i=0;i<=n;i++){
        for(int j=0;j<=m;j++){
            cout<<c[abs(i-j)];
        }
        cout<<endl;
    }

相关文章

网友评论

      本文标题:基础练习-字母图形

      本文链接:https://www.haomeiwen.com/subject/wtbrqftx.html