输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。 输出格式: 输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。C++写出程序
时间: 2024-09-23 11:14:28 浏览: 51
这是一个简单的控制台输出练习,需要使用C++编写一个程序来生成指定大小的正方形,并保持适当的行间距。下面是一个基本的示例代码:
```cpp
#include <iostream>
#include <iomanip>
int main() {
int N;
char C;
// 输入边长和字符
std::cout << "请输入正方形边长N (3 ≤ N ≤ 21) 和构成边的字符C: ";
std::cin >> N >> C;
// 验证输入范围
if (N < 3 || N > 21) {
std::cerr << "错误:边长大于21或小于3,输入无效。\n";
return 1;
}
// 计算实际行数(四舍五入后的50%)
int rows = static_cast<int>(std::round(N * 0.5));
// 输出正方形
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < N; ++j) {
std::cout << C << ' ';
}
std::cout << '\n'; // 换行
if (i != rows - 1) { // 只在最后一行后换行
for (int k = 0; k < N * 2 - 1; ++k) { // 较大的行间距
std::cout << ' ';
}
}
}
return 0;
}
```
在这个程序中,用户会被提示输入边长和字符,然后程序会计算合适的行数并使用嵌套循环打印出正方形。如果输入的边长不在允许范围内,会显示错误信息并退出。
阅读全文