用c语言中的for循环输出菱形

Python036

用c语言中的for循环输出菱形,第1张

#include <stdio.h>

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循环来解决问题,把菱形分成两部分,先打印第一部分,然后打印第二部分。