c语言for循环如何打印菱形


本文摘自PHP中文网,作者coldplay.xixi,侵删。

c语言for循环打印菱形的方法:使用两个for循环,实现条件判断,代码为【int i,j;for(i=0; i<2*n-1; i++){if(i=n-i-1&&j<n+i) {print('*');}else{..}}】。

c语言for循环打印菱形的方法:

方法一(以循环为主打印)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

#include <stdio.h>

void print(int n)

{

    int i,j;

    for(i=1; i<=n; i++)

    {

        for(j=1; j<=n-i; j++)

        {

            printf(" ");

        }

        for(j=n-i+1; j<n+i; j++)

        {

            printf("*");

        }

        printf("\n");

    }

      

    for(i=n-1; i>=1; i--)

    {

        for(j=1; j<=(n-i); j++)

        {

            printf(" ");

        }

        for(j=n-i+1; j<n+i; j++)

        {

            printf("*");

        }

        printf("\n");

    }

}

  

void main()

{

    int n;

    printf("---------开始打印符号---------\n");

    printf("请输入数字:");

    scanf("%d",&n);

    print(n);

    printf("---------结束打印符号---------\n");    

}

方法二:(两个for,根据条件判断实现)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

#include <stdio.h>

//输出格式

void print(char ch) {

    putchar(ch);

}

//星号

void printstar(int n)

{

    int i,j;    //行,列

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

    {

        for(j=0; j<2*n-1; j++)

        {

            if(i<n)

            {

                if(j>=n-i-1&&j<n+i)

                {

                    print('*');

                }

                else

                {

                    print(' ');

                }

            }

            else

            {

                if(j>=i-n+1&&j<3*n-i-2)

                {

                    print('*');

                }

                else 

                {

                    print(' ');

                }

            }

  

        }

        print('\n');

    }

}

  

void main()

{

    int n;

    printf("---------开始打印符号---------\n");

    printf("请输入数字:");

    scanf("%d",&n);

    printstar(n);

    printf("---------结束打印符号---------\n");    

}

说明:(2n-1)―(n-i-1)= n+i

阅读剩余部分

相关阅读 >>

C语言中typedef的用法有哪些?

C语言中的字符串比较函数是什么

在switch语句中,case后的标号只能是什么?

C语言程序是从源文件第一条语句开始执行的,这句话是错的吗

你知道C语言的标识符命名规则是什么吗(详解)

main函数是C语言的唯一起点,对么

C语言中的float是什么意思?

C语言函数声明格式是什么?

C语言用什么软件编写?

C语言怎么定义宏定义

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...