int main()
{
int A=3;
scanf("%d",&A)
int i,j,x,a,b,c,d,e,f,g
for(i=1i<=A+1i++)
{
for(x=Ax>=ix--)
{
printf(" ")
}
for(a=1a<=ia++)
{
printf("*")
}
for(b=0b<=i-2b++)
{
printf("*")
}
for(c=Ac>=ic--)
{
printf(" ")
}
printf("\n");
}
for(j=1j<=Aj++)
{
for(d=1d<=jd++)
{
printf(" ")
}
for(e=Ae>=je--)
{
printf("*")
}
for(f=A-1f>=jf--)
{
printf("*")
}
for(g=0g<=j-1g++)
{
printf(" ")
}
printf("\n")
}
return 0
}
要打出图片题目中所示菱形,只需run下程序,输入3即可(即input A=3)。代码中的那个A可以理解为菱形的横对角线的*的数量减1后的一半。以上代码适合初学者,因为我也是个初学者,对于C语言高手来说,我这个复杂了,我的思路是四个小三角形拼出一个菱形的。。。你run下看可不可以?然后由于这个答案输出框的条件限制,输出的格式,如空格换行等那些会没显示到
# include<stdio.h># include<stdlib.h>
void main()
{
int i,j,a,b,n
printf("please enter size")
scanf("%d",&n)
for(i=1i<ni++)
{
for(j=1j<=n+i-1j++)
if(j==n-i+1 ||j==n+i-1)
printf("*")
else
printf(" ")
printf("\n")
}
for(i=1i<=2*n-1i++)
printf("*")
printf("\n")
for(a=1a<na++)
{
for(b=1b<=2*n-a-1b++)
if(b==n-(n-a-1)||b==2*n-a-1)
printf("*")
else
printf(" ")
printf("\n")}
}
主要考虑用for循环来解决问题,把菱形分成两部分,先打印第一部分,然后打印第二部分。