c语言输出n层菱形星号
时间: 2024-11-20 07:43:27 浏览: 20
在C语言中,打印n层菱形星号可以使用嵌套循环来实现。菱形的关键在于对称,我们可以分为上半部分和下半部分来处理。以下是生成一个n层菱形的基本步骤:
1. **空格+星号行**:首先打印n-1行,每行开头有n-i个空格(i从0到n-1),然后跟i个星号。
2. **星号+空格行**:接下来打印n-1行,与上面类似,只是星号和空格的位置相反。
3. **中间部分**:对于菱形的中心行(如果n是奇数),需要单独处理,通常是n个星号。
4. **下半部分的递减**:最后打印n-1行,每次递减一个星号,其他为空格。
下面是一个简单的C程序示例,用于打印5层菱形星号:
```c
#include <stdio.h>
void printDiamond(int n) {
int i, j;
// 上半部分
for (i = 0; i < n; ++i) {
for (j = i; j > 0; --j)
printf(" ");
for (j = 0; j <= i; ++j)
printf("* ");
printf("\n");
}
// 中心线
if (n % 2 == 1) { // 如果层数为奇数
printf("*\n");
}
// 下半部分
for (i = n - 2; i >= 0; --i) {
for (j = i + 1; j < n; ++j)
printf(" ");
for (j = i; j > 0; --j)
printf("* ");
printf("\n");
}
}
int main() {
int n = 5;
printDiamond(n);
return 0;
}
阅读全文