📜  C实现多种星型图案打印(1)

📅  最后修改于: 2023-12-03 15:00:12.271000             🧑  作者: Mango

C实现多种星型图案打印

本文介绍了C语言中多种星型图案的打印方法,通过改变循环控制和输出字符的方式,可以打印出不同的星型图案。

实现方法

我们可以通过嵌套循环来实现星型图案的打印,外层循环控制行数,内层循环控制列数。

实心三角形
#include <stdio.h>

int main() {
    int i, j, row;

    printf("请输入行数:");
    scanf("%d", &row);

    for (i = 0; i < row; i++) {
        for (j = 0; j <= i; j++) {
            printf("* ");
        }
        printf("\n");
    }

    return 0;
}

输出示例:

请输入行数:5
* 
* * 
* * * 
* * * * 
* * * * *
空心三角形
#include <stdio.h>

int main() {
    int i, j, row;

    printf("请输入行数:");
    scanf("%d", &row);

    for (i = 0; i < row; i++) {
        for (j = 0; j < row - i; j++) {
            printf(" ");
        }
        for (j = 0; j <= i; j++) {
            if (i == row - 1 || j == 0 || j == i) {
                printf("* ");
            } else {
                printf("  ");
            }
        }
        printf("\n");
    }

    return 0;
}

输出示例:

请输入行数:5
          * 
        *   * 
      *       * 
    *           * 
  * * * * * * * * *
菱形
#include <stdio.h>

int main() {
    int i, j, row;

    printf("请输入行数:");
    scanf("%d", &row);

    for (i = 0; i < row; i++) {
        for (j = 0; j < row - i; j++) {
            printf(" ");
        }
        for (j = 0; j < 2 * i + 1; j++) {
            printf("*");
        }
        printf("\n");
    }
    for (i = row - 2; i >= 0; i--) {
        for (j = 0; j < row - i; j++) {
            printf(" ");
        }
        for (j = 0; j < 2 * i + 1; j++) {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

输出示例:

请输入行数:5
           *
          ***
         *****
        *******
       *********
        *******
         *****
          ***
           *
总结

通过以上代码,我们可以看到C语言中实现多种星型图案的打印非常简单,只需要稍微改变循环控制和输出字符的方式,就可以打印出不同的图案。