这是用循环弄出来的,看的时候可以列一个表,将空格,要打印的*数,行数对应出来,因为里面涉及到一些数学公式,写出来的话方便观察!
#define _CRT_SECURE_NO_WARNINGS 1//C语言中用scanf可能会警告,这条代码就是为了解除警告的
#include<stdio.h>
void printLX(int line)//表示菱形的边长
{
for (int i = 0; i < line; i++)//打印上部分
{
for (int j = 0; j < line - 1 - i; j++)
{
printf(" ");
}
for (int j=0; j < 2 * i + 1; j++)
{
printf("*");
}
printf("\n");
}
for (int i = 0; i < line - 1; i++)//打印下半部分
{
for(int j=0;j<i+1;j++)
{
printf(" ");
}
for (int j=0; j < (line - 2 - i) * 2 + 1; j++)
{
printf("*");
}
printf("\n");
}
}
int main()
{
int line;
printf("请输入菱形的边长:");
scanf("%d", &line);
printLX(line);
return 0;
}