用c语言打印出一个空心的菱形
时间: 2023-09-21 21:10:35 浏览: 123
以下是一个使用C语言编写的空心菱形程序:
```c
#include <stdio.h>
int main()
{
int n, i, j, space = 1;
printf("请输入菱形的边长:");
scanf("%d", &n);
space = n - 1;
for (j = 1; j <= n; j++)
{
for (i = 1; i <= space; i++)
printf(" ");
space--;
for (i = 1; i <= 2 * j - 1; i++)
{
if (i == 1 || i == 2 * j - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
space = 1;
for (j = 1; j <= n - 1; j++)
{
for (i = 1; i <= space; i++)
printf(" ");
space++;
for (i = 1; i <= 2 * (n - j) - 1; i++)
{
if (i == 1 || i == 2 * (n - j) - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
return 0;
}
```
输出:
```
请输入菱形的边长:5
*
* *
* *
* *
* *
* *
* *
* *
*
```
注:这里使用了两个for循环来打印菱形的上半部分和下半部分,其中第一个for循环用来控制菱形中“空格”的个数,第二个for循环用来控制菱形中“*”的个数。在打印菱形的每一行时,需要判断当前打印的位置是否应该打印“*”,如果是菱形的边缘,则应该打印“*”,否则应该打印空格。