//打印菱形
// ---*
// ***
// *****
// *******
// *****
// ***
// *
//一共需要line行,分成两边,上半部分需要line/2+1行
//下半部分需要line/2行
#include<stdio.h>
#define L 11 //行
#define R 11 //列
int main()
{
int line = 0;
printf("请输入需要几行的菱形(输入奇数):");
scanf("%d", &line);
int l = line / 2 + 1;
int k = line / 2;
int i = 0;
int n = 1;
char a[L][R] = { '0' };
int j = 0;
//菱形上半部分
for (i =0; i < l; i++)
{
for(j=0;j<l-1-i;j++)
{
a[i][j] = ' ';
}
for (j = l - 1 - i; j < (l - 1 - i + n ); j++)
{
a[i][j] = '*';
}
n = n + 2;
}
//菱形下半部分
n = n - 4;
for (i = l; i < line; i++)
{
for (j = 0; j < i - k; j++)//5 5-3=2
{
a[i][j] = ' ';
}
for (j = i - k; j <i-k+ n ; j++)
{
a[i][j] = '*';
}
n=n - 2;
}
//打印菱形
for (i = 0; i < line; i++)
{
for (j = 0; j < line; j++)
{
printf("%c ", a[i][j]);
}
printf("\n");
}
return 0;
}
输出图像: