编写一个程序,他能够读入正方形的边长,然后打印由星号和空格组成的空心正方形,注意在输出完一个矩形后,再输出一个换行符,确保两个矩形之间有一个空行(仔细看Sample Output),否则会WA
时间: 2024-11-28 15:25:33 浏览: 23
当编写一个这样的程序时,首先需要获取用户输入的正方形边长,假设这个边长是一个整数。接下来,你可以使用嵌套循环来构建空心正方形。对于内部的星号(*)部分,我们可以用外层循环控制行数,内层循环控制每行的星号位置。例如,如果边长为5,第一行和最后一行全由星号组成,中间的边长减一的行则用星号和空格交替。
下面是一个简单的Python示例:
```python
def print_hollow_square(n):
# 边框的星号
border = '*' * n
# 内部填充的星号和空格组合
fill = ' ' * (n - 2) + '*'
# 打印第一行和最后一行的全星号
for i in range(0, n):
print(border)
# 输出中间的空心部分
for i in range(1, n - 1):
print(fill)
# 用户输入的边长
side_length = int(input("请输入正方形的边长:"))
print_hollow_square(side_length)
```
**Sample Output:**
```
*****
*****
***
*
*****
*****
***
*
```
在这个例子中,我们先打印了两个全星号的边框,然后逐行打印了空心部分,每行中间放置星号,两边则是空格。每次打印完一行后都会自动换行。
相关问题
编写一个程序,它能够读入一个正方形的边长(1~20),然后打印一个由星号和空格组成的空心正方形。例如,程序读入边长是5,则输出的空心正方形为: ***** * * * * * * *****
这是一道编程题,要求编写一个程序,读入一个正方形的边长,然后输出一个由星号和空格组成的边长为刚刚读入的边长的空心正方形。下面是一个参考程序:
```
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (i == 1 || i == n || j == 1 || j == n) {
cout << "*";
} else {
cout << " ";
}
}
cout << endl;
}
return 0;
}
```
这个程序首先读入一个正方形的边长,然后使用两个嵌套的循环来输出正方形。外层循环控制行数,内层循环控制列数。
阅读全文