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

Python015

用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>

int main()

{

  int n,i,j

  scanf("%d",&n)

  for(i=0i<=ni++)//上半部分

  {

      for(j=1j<=n-ij++)//每行前边空格

          putchar(' ')

      for(j=1j<=2*i+1j++)//每行输出的#

          putchar('#')

      putchar('\n')

  }

  for(i=1i<=ni++)//下半部分

  {

      for(j=1j<=ij++)

          putchar(' ')

      for(j=2*(n-i)+1j>0j--)

          putchar('#')

      putchar('\n')

  }

  return 0

}