c语言输出菱形多种算法
时间: 2024-10-17 21:15:43 浏览: 31
c语言100个算法经典例题
5星 · 资源好评率100%
在C语言中,输出菱形图案可以使用循环和条件判断来实现,常见的有以下几种算法:
1. **星号(*)为基础的算法**:
- 使用嵌套循环,外部循环控制行数,内部循环控制每行打印的星号数量。
- 第一行和最后一行打印特定数量的星号,中间行打印的星号数量递增或递减。
```c
void print_diamond(int n) {
int i, j;
for (i = 0; i < n; ++i) {
for (j = min(i, n-i-1); j >= 0; --j)
printf("* ");
printf("\n");
}
for (i = n - 2; i >= 0; --i) {
for (j = min(i, n-i-1); j >= 0; --j)
printf("* ");
printf("\n");
}
}
```
2. **字符(' '和'*')交替打印**:
- 利用变量表示当前是否打印星号,每次迭代切换字符。
```c
void print_alternating_diamond(int n) {
int i, j, k;
char current_char = '*';
for (i = 0; i <= n; ++i) {
for (j = 0; j < n - abs(i - n); ++j) {
if (current_char == '*')
printf(" ");
else
printf("*");
}
printf("%c\n", current_char);
if (i != n)
current_char = (current_char == '*' ? ' ' : '*');
}
}
```
阅读全文