C 语言打印三角形星型图案程序

使用 for 循环、while 循环、do while 循环和函数编写一个 C 程序来打印三角形星型图案,并提供示例。有多种类型的三角形,本博文涵盖了其中大部分。

C 语言使用 for 循环打印三角形星型图案的程序

下面的程序使用多个嵌套的 for 循环来迭代三角形的行和列。第一个嵌套循环打印空格,下面的循环打印星号。

#include<stdio.h>
 
int main(void)
{
    int rows;
    printf("Enter Rows to Print Triangle =  ");
    scanf("%d", &rows);
    
    for (int i = 1 ; i <= rows; i++ )
    {
        for (int j = 0 ; j < rows - i; j++ )
        {
            printf("  ");
        }
        for (int k = 0 ; k < i * 2 - 1; k++ )
        {
            printf("* ");
        }
        printf("\n");
    }
}
C Program to Print Triangle Star Pattern

在这个星型三角形图案程序中,我们将上面示例代码中的for 循环替换为while 循环

#include<stdio.h>
 
int main(void)
{
    int rows;
    printf("Enter Rows to Print Triangle =  ");
    scanf("%d", &rows);
    
    int i = 1 ;
    while (i <= rows )
    {
        int j = 0 ;
        while ( j < rows - i )
        {
            printf("  ");
            j++;
        }
        int k = 0 ;
        while ( k < i * 2 - 1 )
        {
            printf("* ");
            k++;
        }
        printf("\n");
        i++;
    }
}

输出

Enter Rows to Print Triangle =  10
                  * 
                * * * 
              * * * * * 
            * * * * * * * 
          * * * * * * * * * 
        * * * * * * * * * * * 
      * * * * * * * * * * * * * 
    * * * * * * * * * * * * * * * 
  * * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * * 

此示例使用do while 循环并打印三角形星型图案。

#include<stdio.h>
 
int main(void)
{
    int rows;
    printf("Enter Rows to Print Triangle =  ");
    scanf("%d", &rows);
    
    int i = 1 ;
    do
    {
        int j = 0 ;
        do
        {
            printf("  ");
            j++;
        }  while ( j <= rows - i );
        int k = 0 ;
        do
        {
            printf("* ");
            k++;
        }  while ( k < i * 2 - 1 );
        printf("\n");
        i++;
    } while (i <= rows );
}

输出

Enter Rows to Print Triangle =  13
                          * 
                        * * * 
                      * * * * * 
                    * * * * * * * 
                  * * * * * * * * * 
                * * * * * * * * * * * 
              * * * * * * * * * * * * * 
            * * * * * * * * * * * * * * * 
          * * * * * * * * * * * * * * * * * 
        * * * * * * * * * * * * * * * * * * * 
      * * * * * * * * * * * * * * * * * * * * * 
    * * * * * * * * * * * * * * * * * * * * * * * 
  * * * * * * * * * * * * * * * * * * * * * * * * * 

在下面的星型三角形图案程序中,我们创建了一个函数,该函数接受行数和任意字符,并使用该符号打印图案。

#include<stdio.h>

void loopLogic(int rows, char ch)
{
    for (int i = 1 ; i <= rows; i++ )
    {
        for (int j = 0 ; j < rows - i; j++ )
        {
            printf("  ");
        }
        for (int k = 0 ; k < i * 2 - 1; k++ )
        {
            printf("%c ", ch);
        }
        printf("\n");
    }
}
int main(void)
{
    int rows;
    char ch;
    
    printf("Enter Character = ");
    scanf("%c", &ch);
    
    printf("Enter Rows to Print Triangle =  ");
    scanf("%d", &rows);
    
    loopLogic(rows, ch);
}

输出

Enter Character = $
Enter Rows to Print Triangle =  16
                              $ 
                            $ $ $ 
                          $ $ $ $ $ 
                        $ $ $ $ $ $ $ 
                      $ $ $ $ $ $ $ $ $ 
                    $ $ $ $ $ $ $ $ $ $ $ 
                  $ $ $ $ $ $ $ $ $ $ $ $ $ 
                $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
              $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
            $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
          $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
        $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
      $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
    $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
  $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 

下面显示的示例是不同种类的星型三角形,我们使用 for 循环来显示图案。但是,您可以使用超链接查看多种方法,例如 while 循环、do while 循环和函数。

C 语言打印空心三角形星型图案的程序

有关空心三角形星型图案的信息 >> 点击此处

#include<stdio.h>

int main(void)
{
    int i, j, k, rows;
    
    printf("Enter Hollow Triangle Rows =  ");
    scanf("%d", &rows);
    
    for (i = 1 ; i <= rows; i++ )
    {
        for ( j = 1 ; j <= rows - i; j++ )
        {
            printf("  ");
        }
        for ( k = 1 ; k <= i * 2 - 1; k++ )
        {
            if (i == 1 || i == rows || k == 1 || k == i * 2 - 1 )
                printf("* ");
            else
                printf("  ");
        }
        printf("\n");
    }
}

输出

Enter Hollow Triangle Rows =  11
                    * 
                  *   * 
                *       * 
              *           * 
            *               * 
          *                   * 
        *                       * 
      *                           * 
    *                               * 
  *                                   * 
* * * * * * * * * * * * * * * * * * * * * 

倒三角形星型图案

有关倒三角形星型图案的更多信息 >> 点击此处

#include<stdio.h>
 
int main(void)
{
    int i, j, k, rows;
    printf("Enter Rows to Print Inverted Triangle =  ");
    scanf("%d", &rows);
    
    for (i = rows ; i > 0; i-- )
    {
        for (j = 1 ; j <= rows - i; j++ )
        {
            printf("  ");
        }
        for (k = 1 ; k <= i * 2 - 1; k++ )
        {
            printf("* ");
        }
        printf("\n");
    }
}

输出

Enter Rows to Print Inverted Triangle =  14
* * * * * * * * * * * * * * * * * * * * * * * * * * * 
  * * * * * * * * * * * * * * * * * * * * * * * * * 
    * * * * * * * * * * * * * * * * * * * * * * * 
      * * * * * * * * * * * * * * * * * * * * * 
        * * * * * * * * * * * * * * * * * * * 
          * * * * * * * * * * * * * * * * * 
            * * * * * * * * * * * * * * * 
              * * * * * * * * * * * * * 
                * * * * * * * * * * * 
                  * * * * * * * * * 
                    * * * * * * * 
                      * * * * * 
                        * * * 
                          * 

向下三角形星型图案

有关向下三角形星型图案的信息 >> 点击此处

#include<stdio.h>
 
int main(void)
{
    int i, j, rows;
    printf("Enter Rows to Print Downward Triangle =  ");
    scanf("%d", &rows);
    
    for (i = rows - 1; i >= 0; i-- )
    {
        for (j = 0 ; j <= i; j++ )
        {
            printf("*  ");
        }
        printf("\n");
    }
}

输出

Enter Rows to Print Downward Triangle =  9
*  *  *  *  *  *  *  *  *  
*  *  *  *  *  *  *  *  
*  *  *  *  *  *  *  
*  *  *  *  *  *  
*  *  *  *  *  
*  *  *  *  
*  *  *  
*  *  
*  

左帕斯卡三角形星型图案

有关左帕斯卡三角形星型图案的信息 >> 点击此处

#include<stdio.h>

void loopCode(int rows, int i)
{
    int j, k;
    for (j = i; j < rows; j++)
    {
        printf("  ");
    }
    for (k = 1; k <= i; k++)
    {
        printf("* ");
    }
    printf("\n");
}

int main(void)
{
    int i, rows;
    
    printf("Enter Left Pascal Triangle Rows =  ");
    scanf("%d", &rows);
    
    for (i = 1; i <= rows; i++) {
        loopCode(rows, i);
    }
    for (i = rows - 1; i >= 1; i--) {
        loopCode(rows, i);
    }
}

输出

Enter Left Pascal Triangle Rows =  8
              * 
            * * 
          * * * 
        * * * * 
      * * * * * 
    * * * * * * 
  * * * * * * * 
* * * * * * * * 
  * * * * * * * 
    * * * * * * 
      * * * * * 
        * * * * 
          * * * 
            * * 
              * 

空心左帕斯卡三角形星型图案

有关空心左帕斯卡三角形星型图案的更多信息 >> 点击此处

#include<stdio.h>
void loopcode(int rows, int i)
{
    int j, k;
    for (j = i; j < rows; j++)
    {
        printf("  ");
    }
    for (k = 1; k <= i; k++)
    {
        if (k == 1 || k == i )
            printf("* ");
        else
            printf("  ");
    }
    printf("\n");
}
int main(void)  {
    int i, rows;
    
    printf("Enter Rows to Print Hollow Left Pascal Triangle =  ");
    scanf("%d", &rows);
    
    for (i = 1; i <= rows; i++)
    {
        loopcode(rows, i);
    }
    for (i = rows - 1; i >= 1; i--)
    {
        loopcode(rows, i);
    }
}

输出

Enter Rows to Print Hollow Left Pascal Triangle =  11
                    * 
                  * * 
                *   * 
              *     * 
            *       * 
          *         * 
        *           * 
      *             * 
    *               * 
  *                 * 
*                   * 
  *                 * 
    *               * 
      *             * 
        *           * 
          *         * 
            *       * 
              *     * 
                *   * 
                  * * 
                    * 

C 语言打印右帕斯卡三角形星型图案的程序

有关右帕斯卡三角形星型图案的更多信息 >> 点击此处

#include<stdio.h>
void loopLogic(int rows, int i)
{
    for (int j = 0; j < i; j++)
    {
        printf("* ");
    }
    printf("\n");
}

int main(void)
{
    int i, rows;
    
    printf("Enter Rows to Print Right Pascal Triangle =  ");
    scanf("%d", &rows);
    
    for (i = 0; i < rows; i++)
    {
        loopLogic(rows, i);
    }
    for (i = rows; i >= 0; i--)
    {
        loopLogic(rows, i);
    }
}

输出

Enter Rows to Print Right Pascal Triangle =  10

* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * 
* * * * * * * * 
* * * * * * * 
* * * * * * 
* * * * * 
* * * * 
* * * 
* * 
* 

空心右帕斯卡三角形星型图案

有关空心右帕斯卡三角形星型图案的更多信息 >> 点击此处

#include<stdio.h>

void loopLogic(int rows, int i)
{
    for (int j = 1; j <= i; j++)
    {
        if (j == 1 || j == i )
            printf("* ");
        else
            printf("  ");
    }
    printf("\n");
}

int main(void)
{
    int i, rows;
    
    printf("Enter Hollow Right Pascal Triangle Rows =  ");
    scanf("%d", &rows);
    
    for (i = 0; i < rows; i++)
    {
        loopLogic(rows, i);
    }
    for (i = rows; i >= 0; i--)
    {
        loopLogic(rows, i);
    }
}

输出

Enter Hollow Right Pascal Triangle Rows =  12

* 
* * 
*   * 
*     * 
*       * 
*         * 
*           * 
*             * 
*               * 
*                 * 
*                   * 
*                     * 
*                   * 
*                 * 
*               * 
*             * 
*           * 
*         * 
*       * 
*     * 
*   * 
* * 
* 

直角三角形星型图案

有关直角三角形星型图案的更多信息 >> 点击此处

#include<stdio.h>

int main(void)  
{
    int rows;
    printf("Enter Rows to Print Right Angled Triangle =  ");
    scanf("%d", &rows);
    
    for (int i = 1; i <= rows; i++)
    {
        for (int j = 1; j <= i; j++)
        {
            printf("* ");
        }
        printf("\n");
    }
}

输出

Enter Rows to Print Right Angled Triangle =  15
* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * * 
* * * * * * * * * * * * 
* * * * * * * * * * * * * 
* * * * * * * * * * * * * * 
* * * * * * * * * * * * * * *