本题要求编写程序,打印一个高度为几的、由“*”组成的正菱形图案。输入格式: L 心 输入在一行中给出一个正的奇数几。 输出格式: 输出由n行星号“*”组成的菱形。每个星号后跟一个空格。使用C语言
时间: 2024-12-08 08:24:39 浏览: 36
要编写一个C语言程序来打印指定高度的菱形图案,可以采用嵌套循环的方式。这里是一个简单的示例,说明如何实现这个功能:
```c
#include <stdio.h>
void printDiamond(int n) {
// 上半部分的星号行
for (int i = 0; i <= n; i++) {
// 控制星号的数量和空格
int stars = n - i;
printf("* ");
// 打印空格
for (int j = 0; j < i; j++) {
printf(" ");
}
// 输出这一行
printf("*\n");
}
// 下半部分的倒置星号行
for (int i = n - 1; i >= 0; i--) {
// 对下半部分来说,星号比上半部分少1个
int stars = n - i - 1;
printf("* ");
// 打印空格,注意这次是倒序减少
for (int j = i; j > 0; j--) {
printf(" ");
}
// 输出这一行
printf("*\n");
}
}
int main() {
int height;
scanf("%d", &height);
// 检查输入是否为正奇数
if (height % 2 == 0 || height < 1) {
printf("错误:输入的高度必须是正奇数。\n");
return 1;
}
printDiamond(height);
return 0;
}
```
在这个程序中,`printDiamond()`函数负责打印菱形,它接受一个整数参数`n`表示菱形的高度。首先打印上半部分,然后是下半部分的倒置星号。主函数中读取用户输入并验证其有效性。
阅读全文