輸入 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條件的時(shí)候有點(diǎn)粗心
后來看了一些別人的博客岩瘦,發(fā)現(xiàn)如果直接用26的數(shù)組就很好了窄刘。
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循環(huán)還可以更簡潔[捂臉]
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
cout<<c[abs(i-j)];
}
cout<<endl;
}