用C语言打印一个十层的菱形
时间: 2024-09-25 21:12:53 浏览: 42
在C语言中,打印一个十层的菱形需要一些循环和条件判断。下面是一个简单的示例,使用嵌套循环来创建菱形:
```c
#include <stdio.h>
// 宽度函数,返回给定层数的菱形宽度
int get_width(int n) {
return 2 * n - 1; // 菱形每层宽度为2n-1
}
// 打印菱形的上半部分
void print_upper_half(int n) {
for (int i = 0; i <= n; i++) {
for (int j = 0; j < get_width(i); j++) {
if (i == j || i + j == n) { // 第一行和最后一行全打印星号
printf("*");
} else { // 其他位置打印空格
printf(" ");
}
}
printf("\n"); // 换行
}
}
// 打印菱形的下半部分
void print_lower_half(int n) {
for (int i = n; i > 0; i--) {
for (int j = 0; j < get_width(i); j++) {
if (i == j || i + j == n) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
}
int main() {
int n = 10; // 十层菱形
print_upper_half(n);
printf("\n");
print_lower_half(n); // 打印下半部分
return 0;
}
```
这个程序首先定义了一个`get_width`函数计算每一层的宽度,然后分别打印菱形的上半部分和下半部分。
阅读全文