1.打印菱形我们要看一下原理,空格用#号表示,(注意:空格只有一边,另一边是换行,而不是二边)
##*\n
#***\n
*****\n
#***\n
##*\n
2.开始编程,我们将他分为上下2个部分,*的数字分别为1,3,5,7,9,11.当输入数字多少时,就可以打印多少上行。
上面:如果a=4,空格为3,2,1,0,*号为1,3,5.如果a=5,空格为4,3,2,1,0,*号为1 ,3,5,7.
int main()
{
int a = 0;
//a>1
scanf_s("%d", &a);
//上面
for (int i = 0; i < a; i++)
{
//空格
for (int j = 0; j < a-1-i; j++)
{
printf(" ");
}
//*
for (int j = 0; j <2*i+1; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
下面:同样:如果a=4,空格为0,1,2,3,*号为3,1.如果a=5,空格为0,1,2,3,4,*号为5 ,3,1.注意:下面比上面少一行,所以i<a-1。
int main()
{
int a = 0;
//a>1
int c = 0;
scanf_s("%d", &a);
//上面
for (int i = 0; i < a; i++)
{
//空格
for (int j = 0; j < a-1-i; j++)
{
printf(" ");
}
//*
for (int j = 0; j <2*i+1; j++)
{
printf("*");
}
printf("\n");
}
//下面
for (int i = 0; i < a-1; i++)
{
//空格
for (int j = 0; j <=i; j++)
{
printf(" ");
}
//*
for (int j = 0; j <2*(a-i-1)-1;j++)
{
printf("*");
}
printf("\n");
}
return 0;
}