用c语言重写上述代码
时间: 2024-10-03 22:00:32 浏览: 38
在C语言中,我们可以使用嵌套循环和算术运算来实现同样的菱形输出。以下是一个C语言版本的代码:
```c
#include <stdio.h>
void print_diamond(int n) {
int i;
// 上半部分
for(i = 0; i <= n; ++i) {
printf("%*s", (n - i), ""); // 左侧空格
printf("*" ((2 * i) - 1) "*"); // 中间的星号
printf("%s", "A" * i); // 'A'字符
printf("\n");
}
// 下半部分
for(i = n - 1; i >= 1; --i) {
printf("%*s", (n - i), ""); // 左侧空格
printf("*" ((2 * i) - 1) "*"); // 中间的星号
printf("%s", "A" * i); // 'A'字符
printf("\n");
}
}
int main() {
int height;
printf("请输入菱形的高度:");
scanf("%d", &height);
print_diamond(height);
return 0;
}
```
这个C程序首先获取用户输入的高度,然后调用`print_diamond`函数打印出菱形。注意,由于C语言的标准库中没有直接的字符串连接操作,我们使用了空格和字符数组的方式来模拟。
阅读全文