蓝桥杯-历届试题-打印十字图
2018-03-10 15:34
337 查看
[align=center]历届试题 打印十字图[/align]问题描述 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$.. 对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。输入格式一个正整数 n (n<30) 表示要求打印图形的层数。 输出格式对应包围层数的该标志。样例输入11样例输出1..$$$$$..
..$...$..
$$$.$.$$$
$...$...$
$.$$$$$.$
$...$...$
$$$.$.$$$
..$...$..
..$$$$$..样例输入23样例输出2..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..提示请仔细观察样例,尤其要注意句点的数量和输出位置。
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$.. 对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。输入格式一个正整数 n (n<30) 表示要求打印图形的层数。 输出格式对应包围层数的该标志。样例输入11样例输出1..$$$$$..
..$...$..
$$$.$.$$$
$...$...$
$.$$$$$.$
$...$...$
$$$.$.$$$
..$...$..
..$$$$$..样例输入23样例输出2..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..提示请仔细观察样例,尤其要注意句点的数量和输出位置。
#include<iostream> using namespace std; int fuck(int i, int j, int len) { //将图一分为四只看左上角部分 //上下对称过去 原图下半部分的横坐标对称到图的上半部分 if (i > len / 2 + 1) { i = len / 2 + 1 - (i - (len / 2 + 1)); } //左右对称过去 原图右半部分的纵坐标对称到图的左半部分 if (j > len / 2 + 1) { j = len / 2 + 1 - (j - (len / 2 + 1)); } //每个角上的四个点 if (i <= 2 && j <= 2) return 0; //上下左右每一层连续的部分 连续不拐弯的部分 if (i % 2 == 1 && j > i + 1 || j % 2 == 1 && i>j + 1) return 1; //其余部分 拐弯部分的三个'$' if (i > 1 && i % 2 == 1 && j == i || i > 1 && i % 2 == 1 && j == i - 1 || j > 1 && j % 2 == 1 && i == j || j > 1 && j % 2 == 1 && i == j - 1) return 1; return 0; } int main() { int n; cin >> n; int len = 4 * n + 5; //边长 for (int i = 1; i <= 4 * n + 5; i++) { for (int j = 1; j <= 4 * n + 5; j++) { if (fuck(i, j, len)) { cout << "$"; } else { cout << "."; } } cout << endl; } return 0; }
相关文章推荐
- 蓝桥杯之 历届试题 打印十字图
- 蓝桥杯-历届试题-打印十字图
- 蓝桥杯 历届试题 打印十字图
- 【蓝桥杯】历届试题 打印十字图
- 蓝桥杯 历届试题 打印十字图
- 蓝桥杯 历届试题 打印十字图(打印)
- 历届试题 打印十字图 (蓝桥杯)
- 蓝桥杯 历届试题 打印十字图
- 蓝桥杯 历届试题 打印十字图(模拟水题,图形输出)
- 打印十字图-蓝桥杯历届试题
- 蓝桥杯 历届试题 打印十字-----------------------C语言——菜鸟级
- 蓝桥杯历届试题 打印十字图
- 简单搜索 打印十字图 蓝桥杯历届试题
- 蓝桥杯历届试题-打印十字图
- 蓝桥杯 历届试题 打印十字图 java详解
- 历届试题 打印十字图
- 历届试题 打印十字图
- 蓝桥杯历届-打印十字图
- 蓝桥杯 历届试题 打印大X
- 蓝桥杯 历届试题 打印图形