多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 基础练习 字母图形  问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。 输入格式 输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。 输出格式 输出n行,每个m个字符,为你的图形。 样例输入 5 7 样例输出 ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 数据规模与约定 1 <= n, m <= 26。 ~~~ // 字母图形 // 先输出逆序再输出正序 #include <iostream> using namespace std; int main() { int n,m; int i,j,k; while(cin>>n>>m) { for(i=0;i<n;++i) { // abs(j-i)<m 就是要确保当行数大于列数的时候输出个数 for(j=i;j>0 && i-j<m;--j) cout<<char('A'+j); for(k=0;k+i<m;++k) cout<<char('A'+k); cout<<endl; } } return 0; } // 每个字母出现的时候是'A'+abs(行数-列数), 耗时更短 #include <iostream> #include <cmath> using namespace std; int main() { int n,m,i,j; char a='A'; while(cin>>n>>m) { for(i=1;i<=n;++i) { for(j=1;j<=m;++j) cout<<char(a+abs(i-j)); cout<<endl; } } return 0; } ~~~