【藍橋杯】-數字圖形-C++解決

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

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

這是一個5行7列的圖形,請找出這個圖形的規律,並輸出一個n行m列的圖形。

輸入格式
輸入一行,包含兩個整數n和m,分別表示你要輸出的圖形的行數的列數。
輸出格式
輸出n行,每個m個字符,爲你的圖形。
樣例輸入
5 7
樣例輸出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
數據規模與約定
1 <= n, m <= 26。

分析:看這這個輸出樣例!!像不像個矩陣!拿A舉例,每個A所在的位置都是(x,x),相減永遠爲0,而B則是行列相減爲1(這裏用絕對值),所以規律很好找出,利用每個字母所在的位置相減爲固定值即可:

//利用矩陣座標; 
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
	int i,k=0,m,n;
	char a[105];
	char x='A';
	for(i=1;i<27;i++)
	{
		a[k++]=x++;
	}
	cin>>m>>n;
	for(i=1;i<=m;i++)
	{
	   for(int j=1;j<=n;j++)
	   {
	   	 cout<<a[abs(i-j)];
	   }
	   cout<<endl;
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章