[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-15g1DRQf-1690894060336)(https://imgblog.csdnimg.cn/e3822d1d219b4c2bae669265111cb796.png)]
拆分法
拆分法(将空格和*号分开讨论,把菱形分为上下两部分,使问题简单化)
#include<stdio.h>
int main()
{
int n=0;//输入上半行的行数
scanf("%d",&n);
int i=0;
//开始打印上半行
for(i=0;i<n;i++)
{
//打印空格
int j=0;
for(j=0;j<n-1-i;j++)
{
printf(" ");
}
打印*
for(j=0;j<2*i+1;j++)
{
printf("*");
}
printf("\n");
}
//打印下半行
//打印下半行
for (i = 0; i < n - 1; i++)
{
//打印空格
int j = 0;
for (j = 0; j <= i; j++)
{
printf(" ");
}
//打印*
for (j = 0; j < 2*(n - 1 - i) - 1; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
菱形的打印 和爱心打印原理差不多 就是要找好规律 利用好**for循环**打印出好看的图形还是十分简单的
如果大家还有更好的办法记得留言分享 感谢各位铁汁们的支持