编写一个打印n行菱形的C语言程序可以分为两部分:打印上半部分和下半部分。下面是一个简单的C语言程序,它首先通过键盘输入来获取用户想要打印的行数n,然后分别打印菱形的上半部分和下半部分。
#include <stdio.h>
int main() {
int n, i, j, k;
printf("请输入菱形的行数(奇数): ");
scanf("%d", &n);
// 打印上半部分
for(i = 1; i <= n; i += 2) {
// 打印空格
for(j = i; j < n; j += 2) {
printf(" ");
}
// 打印星号
for(k = 1; k <= i; k++) {
printf("*");
}
printf("\n");
}
// 打印下半部分
for(i = n - 2; i > 1; i -= 2) {
// 打印空格
for(j = 1; j < i; j += 2) {
printf(" ");
}
// 打印星号
for(k = 1; k <= i; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
请注意,这个程序假设用户输入的n是一个奇数,因为只有奇数行才能形成一个完整的菱形。如果需要处理偶数行数的情况,可以修改程序逻辑来适应。
在运行程序时,用户应该输入一个奇数作为行数,例如5,程序将打印如下菱形:
*
***
*****
*******
*********
*******
*****
***
*
如果你希望菱形能够根据奇偶性自适应打印,可以增加一些逻辑判断,使得程序能够接受任意正整数作为输入,并打印出相应大小的菱形。