C 语言范例 - 创建各类三角形图案

创建三角形图案

使用 * 号

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

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

    printf("行数: ");
    scanf("%d",&rows);

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

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
行数: 4
*
* *
* * *
* * * *

使用数字

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

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

    printf("行数: ");
    scanf("%d",&rows);

    for(i=1; i<=rows; ++i)
    {
        for(j=1; j<=i; ++j)
        {
            printf("%d ",j);
        }
        printf("\n");
    }
    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
行数: 4
1
1 2
1 2 3
1 2 3 4

使用字母

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>
int main()
{
    int i, j;
    char input, alphabet = 'A';

    printf("输入大写字母: ");
    scanf("%c",&input);

    for(i=1; i <= (input-'A'+1); ++i)
    {
        for(j=1;j<=i;++j)
        {
            printf("%c", alphabet);
        }
        ++alphabet;

        printf("\n");
    }
    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
输入大写字母: D
A
BB
CCC
DDDD

倒三角形

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

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

    printf("行数: ");
    scanf("%d",&rows);

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

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
行数: 4
* * * *
* * *
* *
*

倒三角形数字

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

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

    printf("行数: ");
    scanf("%d",&rows);

    for(i=rows; i>=1; --i)
    {
        for(j=1; j<=i; ++j)
        {
            printf("%d ",j);
        }
        printf("\n");
    }

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
行数: 4
1 2 3 4
1 2 3
1 2
1

金字塔

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

int main()
{
    int i, space, rows, k=0;

    printf("Enter number of rows: ");
    scanf("%d",&rows);

    for(i=1; i<=rows; ++i, k=0)
    {
        for(space=1; space<=rows-i; ++space)
        {
            printf("  ");
        }

        while(k != 2*i-1)
        {
            printf("* ");
            ++k;
        }

        printf("\n");
    }

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
Enter number of rows: 4
      *
    * * *
  * * * * *
* * * * * * *

数字金字塔

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

int main()
{
    int i, space, rows, k=0, count = 0, count1 = 0;

    printf("行数: ");
    scanf("%d",&rows);

    for(i=1; i<=rows; ++i)
    {
        for(space=1; space <= rows-i; ++space)
        {
            printf("  ");
            ++count;
        }

        while(k != 2*i-1)
        {
            if (count <= rows-1)
            {
                printf("%d ", i+k);
                ++count;
            }
            else
            {
                ++count1;
                printf("%d ", (i+k-2*count1));
            }
            ++k;
        }
        count1 = count = k = 0;

        printf("\n");
    }
    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
行数: 4
      1
    2 3 2
  3 4 5 4 3
4 5 6 7 6 5 4

倒金字塔

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include<stdio.h>

int main()
{
    int rows, i, j, space;

    printf("行数: ");
    scanf("%d",&rows);

    for(i=rows; i>=1; --i)
    {
        for(space=0; space < rows-i; ++space)
            printf("  ");

        for(j=i; j <= 2*i-1; ++j)
            printf("* ");

        for(j=0; j < i-1; ++j)
            printf("* ");

        printf("\n");
    }

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
行数: 4
* * * * * * *
  * * * * *
    * * *
      *

杨辉三角

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

int main()
{
    int rows, coef = 1, space, i, j;

    printf("行数: ");
    scanf("%d",&rows);

    for(i=0; i<rows; i++)
    {
        for(space=1; space <= rows-i; space++)
            printf("  ");

        for(j=0; j <= i; j++)
        {
            if (j==0 || i==0)
                coef = 1;
            else
                coef = coef*(i-j+1)/j;

            printf("%4d", coef);
        }
        printf("\n");
    }

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
行数: 5
             1
           1   1
         1   2   1
       1   3   3   1
     1   4   6   4   1

弗洛伊德三角形

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>
int main()
{
    int rows, coef = 1, space, i, j;

    printf("行数: ");
    scanf("%d",&rows);

    for(i=0; i<rows; i++)
    {
        for(space=1; space <= rows-i; space++)
            printf("  ");

        for(j=0; j <= i; j++)
        {
            if (j==0 || i==0)
                coef = 1;
            else
                coef = coef*(i-j+1)/j;

            printf("%4d", coef);
        }
        printf("\n");
    }

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
行数: 5
             1
           1   1
         1   2   1
       1   3   3   1
     1   4   6   4   1

C 语言范例

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.