2018HPU暑期集训第四次积分训练赛 K - 方框 题解(图形打印)
2024-10-15 19:36:07
思路分析:题目已经明确透露了这道题的解法:就是画框。当 输入的边长 的话,就表示可以在内层继续嵌套一个方框。废话就不多说了,直接上代码吧!
代码如下:
#include <iostream>
#include <algorithm>
using namespace std;
int n;
char ch[105][105];
int main() {
while (cin >> n) {
// 初始化 (切记 ,必须要初始化!!!)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
ch[i][j] = ' ';
int a = 0;
int b = n;
// 画框
do {
for (int i = a; i < n - a; i++) { // 画 上下 两条边
ch[a][i] = '*';
ch[n - a - 1][i] = '*';
}
for (int i = a + 1; i < n - a - 1; i++) { // 画 左右 两条边
ch[i][a] = '*';
ch[i][n - a - 1] = '*';
}
a += 2;
b = b - 4;
} while (b > 0); // 判断是否继续画框的条件
// 输出
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << ch[i][j];
}
cout << endl;
}
}
return 0;
}
最新文章
- asp.net core 实战之 redis 负载均衡和";高可用";实现
- 2.Powershell Console
- 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序
- nginx 目录文件列表功能配置
- Android res/raw vs assets
- Android 开发 之 Fragment 详解
- C++多态性与C#的比较
- [转] Form表单中method=";post/get&#39;的区别
- popup
- HTML通过事件传递参数到js 二 event
- Android学习笔记之Broadcast Receiver
- 了解Java基础原理
- HDU 6149 Valley Numer II 状压DP
- [ACdream]瑶瑶带你玩激光坦克
- 引入UEditor后其他列表项不显示
- servlet概述(作业11)
- 企业级代码托管Gitlab
- Codeforces.1028F.Make Symmetrical(结论 暴力)
- java/javac命令行如何同时引用多个包;错误 TypeError: &#39;JavaPackage&#39; object is not callable 的含义
- 电影《Green book》观后感_已补全:携带着种族歧视的“光环”,艰难地获得朋友的相互依赖,依然得享受生活的酸甜苦咸。
热门文章
- Nginx状态码和日志
- 【Azure Redis 缓存】Azure Cache for Redis 中如何快速查看慢指令情况(Slowlogs)
- Arcpy按属性(字段值)不同将shp分割为多个独立shp_适用点线面矢量
- CF424A Squats 题解
- 初识requests
- 磁盘分区级文件系统丢失找回 testdisk
- springboot目录结构、重要配置文件、重要注解的详解
- 【LeetCode】1470. 重新排列数组 Shuffle the Array (Python)
- 写在LeetCode刷题600题
- 【剑指Offer】10- I. 斐波那契数列 解题报告(Python & C++)