给定一个整数n,输出一个由字符“*”组成的边长为n的中空的正方形。
时间: 2024-10-23 12:11:50 浏览: 51
要输出一个边长为n的中空正方形,你可以使用嵌套循环来打印星号(*)。外层循环用于控制行,内层循环用于控制每一行的星号数量。对于第一行和最后一行,由于它们没有中空的部分,我们只打印n个星号。中间的(n-2)行需要打印n-2对星号,每对之间留一个空格。
这是一个简单的C语言代码示例:
```c
#include <stdio.h>
void print_square(int n) {
// 打印第一行和最后一行的全星号
for (int i = 0; i < n; i++) {
printf("*");
}
printf("\n");
// 中间n-2行的星号和空格
for (int i = 1; i < n - 1; i++) {
printf("* ");
for (int j = 1; j < n - 1; j++) {
printf(" ");
}
printf("*\n");
}
// 打印最后一行的全星号
for (int i = 0; i < n; i++) {
printf("*");
}
printf("\n");
}
int main() {
int n;
printf("Enter the length of the square: ");
scanf("%d", &n);
print_square(n);
return 0;
}
```
阅读全文