写一个c语言程序要求输入n,输出由*构成的菱形和纺锤形,每个图形均为2n-1行
时间: 2024-05-10 13:21:36 浏览: 159
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i, j, k;
printf("请输入n:");
scanf("%d", &n);
// 输出菱形
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
// 输出纺锤形
for (i = 1; i <= n; i++) {
for (j = 1; j <= i - 1; j++) {
printf(" ");
}
for (k = 1; k <= 2 * n - 2 * i + 1; k++) {
printf("*");
}
printf("\n");
}
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= i - 1; j++) {
printf(" ");
}
for (k = 1; k <= 2 * n - 2 * i + 1; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
程序运行时会要求输入n,然后输出由*构成的菱形和纺锤形,每个图形均为2n-1行。输出样例如下(n=5):
```
请输入n:5
*
***
*****
*******
*********
*******
*****
***
*
*****
*******
*********
***********
*************
***********
*********
*******
*****
```
阅读全文