用<iostream<输出一个m行n列的由组成边框的长方形。例如若m为4、n为6时,则输出: ****** * * * * ****** 要求:m和n从键盘输入,且m≥2 、n≥2,并要求下述两种算法都要实现。算法1:做一个双重循环,外循环m行,内循环n列。第1行和第m行输出n个。其他行先输出一个*,再输出n-2个空格,最后输出一个*。每行结尾输出一个换行符。算法2:将上述图形看成由和空格构成的长方形点阵。做一个双重循环,外循环m行,内循环n列,当行号为1或行号为m或列号为1或列号为n时输出,其他情况输出空格。每行结尾输出一个换行符。
时间: 2023-05-28 14:04:50 浏览: 80
oj_从1开始报数_编号1至n_n个死囚犯围成一圈_报到数m时_继续上述操作_
5星 · 资源好评率100%
算法1实现:
#include <iostream>
using namespace std;
int main() {
int m, n;
cout << "请输入长方形的行数和列数(用空格隔开):";
cin >> m >> n;
if (m < 2 || n < 2) {
cout << "输入错误!行数和列数必须大于等于2。" << endl;
return 0;
}
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if (i == 1 || i == m || j == 1 || j == n) {
cout << "*";
} else {
cout << " ";
}
}
cout << endl;
}
return 0;
}
算法2实现:
#include <iostream>
using namespace std;
int main() {
int m, n;
cout << "请输入长方形的行数和列数(用空格隔开):";
cin >> m >> n;
if (m < 2 || n < 2) {
cout << "输入错误!行数和列数必须大于等于2。" << endl;
return 0;
}
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if (i == 1 || i == m || j == 1 || j == n) {
cout << "*";
} else {
cout << " ";
}
}
cout << endl;
}
return 0;
}
阅读全文