给定一个奇数n和一个大写字母Center,生成一个n*n的字符矩阵。字符矩阵由大写字母和'.' (注意: '.' 为英文句号)组成,并且所有大写字母组成一个n行的萎形,菱形的中心位置为大写字母Center,菱形中的大写字母规律参照”下列三组样例。 输入样例1: 3 C 输出样例1: .B. BCB .B. 输入样例2: 5 Z 输出样例2: ..X.. .XYX. XYZYX .XYX. ..X.. 输入样例3: 9 E 输出样例3: ....A.... ...ABA... ..ABCBA.. .ABCDCBA. ABCDEDCBA .ABCDCBA. ..ABCBA.. ...ABA... ....A....
正确答案:参考程序(Python):n=int(input());C=input();c=ord(C);for i in range(n):row=''.join((chr(c-(abs(i-n//2)+abs(j-n//2))) if abs(i-n//2)+abs(j-n//2)<=n//2 else '.') for j in range(n));print(row)。样例5 Z→菱形。核心:曼哈顿距离菱形成字。
试卷来源:202409(第15届)蓝桥杯C++编程青少组(国赛_中高级)真题