C语言 用for双重循环 编写一个有9行由*组成的菱形。

C语言 用for双重循环 编写一个有9行由*组成的菱形。,第1张

以下是使用 C 语言编写一个输出 9 行由星号组成的菱形的程序,使用了双重 for 循环:

```c

#include <stdio.h>

int main() {

int rows = 9

int i, j, k

for (i = 1i <= rowsi++) {

for (j = 1j <= rows - ij++) {

printf(" ")

}

for (k = 1k <= 2 * i - 1k++) {

printf("*")

}

printf("

")

}

for (i = rows - 1i >= 1i--) {

for (j = 1j <= rows - ij++) {

printf(" ")

}

for (k = 1k <= 2 * i - 1k++) {

printf("*")

}

printf("

")

}

return 0

}

```

在上面的代码中,我们首先定义了一个变量 rows,它表示菱形的行数。接着使用了两个 for 循环来产生菱形的上半部分和下半部分。对于每一行,我们使用内层的 for 循环来打印菱形的空格和星号。外层的 for 循环则用于控制总共需要多少行。其中,第一个循环从 1 到 rows,第二个循环从 rows - 1 到 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下看可不可以?然后由于这个答案输出框的条件限制,输出的格式,如空格换行等那些会没显示到

思路:

*  第1行  空格数3(4-1) 星星数1(1*2-1)

***  第2行  空格数2(4-2) 星星数3(2*2-1)

*****  第3行  空格数1(4-3) 星星数5(3*2-1)

*******  第4行  空格数0(4-4) 星星数7(4*2-1)

通过以上思路就可以打印出菱形

代码:

public class Lin {

public static void main(String[] args) {

  // TODO 自动生成的方法存根

       int i,j,k

           for(i=0i<5i++)    //控制行

           {  

           for(j=0j<5-ij++)   //控制空格

            System.out.print(" ")

           for(k=0k<2*i-1k++)   //控制*号输出

            System.out.print("*")

              System.out.print("n")

           }

          for(i=3i>0i--)

          {

           for(j=0j<5-ij++)

            System.out.print(" ")

           for(k=0k<2*i-1k++)

            System.out.print("*")

              System.out.print("n")

          }

         

 }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11529187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存