经典例题——字母图形(LQ)
蓝桥杯练习题——字母图形
问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
**思路:**以(0,0)开始的对角线为界,左边逆序,右面正序,先把第一列填完,在填左右两部分
#include<iostream> using namespace std; int main(){ int row,col; cin>>row>>col; char a[row][col]; for(int i=0;i<row;i++){ //每一行 a[i][0]=A+i; //第一行首元素 for(int j=1;j<=i;j++){ //填写对角线左半部分 a[i][j]=a[i][j-1]-1; if(j==i) a[i][j]=A; } for(int j=i+1;j<col;j++){ //填写对角线右半部分 a[i][j]=a[i][j-1]+1; } } for(int i=0;i<row;i++){ for(int j=0;j<col;j++){ cout<<a[i][j]; } cout<<endl; } return 0; } //把每一行的A,作为分界线,或者说整个图形的A作为对角线, //对角线左边是逆序的,对角线右边是正序的, //有的当 n > m 时图形可能没有A,不过没有关系,我们的循环的限制, //所以动脑找规律真的很重要
下一篇:
贪心算法之利润最大问题