旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。
旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。
【提交】
【问题描述】
小 A 想绘制一个菱形。具体来说,需要绘制的菱形是一个 行 列的字符画,是一个大于 的奇数。菱形的四个顶点依次位于第 行、第 列、第 行、第 列的正中间,使用 #绘制。相邻顶点之间也用 #连接。其余位置都是 .。例如,一个 行 列的菱形字符画是这样的:
..#..
.#.#.
#...#
.#.#.
..#..
给定 ,请你帮小 A 绘制对应的菱形。
【输入描述】
一行,一个正整数 。
【输出描述】
输出共 行,表示对应的菱形。
【样例输入1】
【样例输出1】
.#.
#.#
.#.
【样例输入2】
【样例输出2】
....#....
...#.#...
..#...#..
.#.....#.
#.......#
.#.....#.
..#...#..
...#.#...
....#....
【数据范围】
对于所有测试点,保证 并且 为奇数。
参考答案:
#include
#include// 用于abs函数
using namespace std;
intmain{
intn;
cin>> n;
// 计算中心点坐标(行列从0开始计数)
intcenter = n / 2;
// 遍历每一行
for(inti = 0; i < n; i++)
// 遍历每一列
for(intj = 0; j < n; j++)
// 计算当前点到中心点的曼哈顿距离
intdistance = abs(i - center) + abs(j - center);
// 如果曼哈顿距离等于中心点到顶点的距离,则输出'#',否则输出'.'
THE END