问题描述
小明想在控制台上输出 m x n 个方格。
比如 10x4的,输出的样子是:
+---+---+---+---+---+---+---+---+---+---+
| | | | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
| | | | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
| | | | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
| | | | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
(如果显示有问题,可以参见【图1.jpg】)
以下是小明写的程序,请你分析其流程,填写划线部分缺少的代码。
解决方案
代码
#include <iostream>
using namespace std;
void fun(int m, int n) {
for (int i = 0; i < n; ++i) {
//顶部
if (!i) {
for (int j = 0; j < m; ++j) {
if (!j) {
cout << "+";
}
cout << "---+";
}
cout << endl;
}
// 第二层侧边
for (int j = 0; j < m; ++j) {
if (!j) {
cout << "|";
}
cout << " |";
}
cout << endl;
// 底层
for (int j = 0; j < m; ++j) {
if (!j) {
cout << "+";
}
cout << "---+";
}
cout << endl;
}
}
int main() {
int m, n;
scanf("%d%d", &m, &n);
fun(m, n);
return 0;
}