1. 程式人生 > >藍橋——基礎練習——字母圖形

藍橋——基礎練習——字母圖形

問題描述

利用字母可以組成一些美麗的圖形,下面給出了一個例子:

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 main06(){
	int n, m;				    //n行, m列   1 <= n, m <= 26。
	cin >> n >> m; 	            
	int j, k, counter;      	            
	for(int i = 0; i < n; i++){                 //每個迴圈輸出一行 
		k = i; j = 0; counter = 0; 	    //每次迴圈完j, k, counter都要置初值 
		while(k != 0){	                    //先輸出A之前的, 用 k 實現 
			cout << (char)('A' + k);
			counter++; if(counter == m) break;//counter用於判斷是否輸出了m列,到了m就不能再輸出了 
			k--;
		}
		while(j < m - i){//然後輸出A及之後的(m - i表示剩餘需要輸出的列數),這裡其實隱含判斷了否輸出了m列,所以不用counter了 
			cout << (char)('A' + j);    //cout << char('A' + j);
			j++;
		}
		cout << endl;
	}
	return 0;
}