用 * 构造一个对角线长 5 5 个字符,倾斜放置的菱形。
时间: 2024-10-03 17:04:03 浏览: 49
你可以使用嵌套循环来构造一个斜放且对角线长度为5的菱形,使用星号(*)作为字符。下面是C语言的一个例子:
```c
#include <stdio.h>
#include <string.h> // 为了计算字符串长度
void print_skewed_diamond(int n) {
char str[9] = "*****\n"; // 创建一个5个星号的行
int len = strlen(str); // 计算字符串长度
int i, j;
// 打印上半部分
for (i = 0; i < n; i++, len -= 4) { // 长度每次减少4是因为每向下移动一行,星号的数量减少2
for (j = 0; j < len; j++) {
if (i == j || i + j == n - 1) // 对角线位置打印*
printf("*");
else
printf(" "); // 其他位置打印空格
}
printf("\n");
}
// 打印下半部分
for (i = n - 2; i >= 0; i--, len -= 4) { // 从上一行开始往回打印,注意边界条件
for (j = 0; j < len; j++) {
if (i == j || i + j == n - 2) // 对角线位置打印*
printf("*");
else
printf(" "); // 其他位置打印空格
}
printf("\n");
}
}
int main() {
print_skewed_diamond(5);
return 0;
}
阅读全文