本来打算先编菱形的上半部分,编完了发现对不齐,而且循环也有问题,就没有往下编,求解答
#include <stdio.h>
int main()
{
int a,n,b,c,d,e=0;
scanf("%d",&n);
for(a=n,d=1;a<=n&&a>0;a--,d++)
{
for(b=1,c=0;b<a-c-e;c++)
{
printf(" ");
}
for(b=1,c=1;b<=c;c=c+2)
{
if(d%2!=0)
{
printf("*");
}
if(c>=(2*d-1))
{
break;
}
}
if(d%2!=0)
{
printf("\n");
}
else
{
e=e+1;
a=a+e;
}
}
return 0;
}
输入: 3
应得到: *
***
*****
***
*
实际得到: *
***
*****
*******
输入:4
应得到: *
***
*****
*******
*****
***
*
实际得到: *
***
*****
*******