A28692. 给定一个奇数n和一个大写字母Center,生成一个n x n的字符矩 阵。字符矩阵由大写字母和'.' (注意: '.' 为英文句号)组成,并且所有大写字母组成一个n行的萎形,菱形的中心位置为大写字母Center,菱形中 的大写字母规律参照”下列三组样例。例1, n= 3, Center= 'C',字符矩阵为:.B. BCB .B.例2, n= 5,Center = 'Z',字符矩阵为:..X..…
填空题
中等
知识点
题目描述
给定一个奇数n和一个大写字母Center,生成一个n x n的字符矩 阵。字符矩阵由大写字母和'.' (注意: '.' 为英文句号)组成,并且所有大写字母组成一个n行的萎形,菱形的中心位置为大写字母Center,菱形中 的大写字母规律参照”下列三组样例。
例1, n= 3, Center= 'C',字符矩阵为:
.B.
BCB
.B.例2, n= 5,Center = 'Z',字符矩阵为:
..X..
.XYX.
XYZYX
.XYX.
..X..输入样例
9
E输出样例
....A....
...ABA...
..ABCBA..
.ABCDCBA.
ABCDEDCBA
.ABCDCBA.
..ABCBA..
...ABA...
....A....参考答案
#include<bits/stdc++.h>
using namespace std;
char ch;
int n;
int main()
{
cin>>n>>ch;
int dta=ch-'A',centerx=n/2+1,centery=n/2+1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
int d=abs(i-centerx)+abs(j-centery);
if(d>dta||d>n/2)
cout<<'.';
else
cout<<char('A'+dta-d);
}
cout<<endl;
}
return 0;
}
上一题
下一题