个性化阅读
专注于IT技术分析

如何在C中打印弗洛伊德三角形

本文概述

Floyd三角形是自然数的直角三角形数组, 用于计算机科学教育。三角形是通过用连续的数字填充三角形的行来定义的, 从左上角的1​​开始:1. 2.连续的行从左侧开始, 下一个数字, 其后的自然数比行多一个以上。在学校或大学学习编码时, 通常需要进行此练习。

在本文中, 我们将向你简要介绍如何使用C在控制台中打印floyd三角形。

实现

要开始使用C逻辑, 你将需要循环两次并创建一个计数器变量, 在这种情况下为a。在第一个for循环中, 你将迭代用户给定数字的次数, 在该循环中, 你还将迭代第一个循环的索引的次数, 将a的值加1, 在此循环内, 你将打印包含连续数的弗洛伊德三角形的变量:

#include <stdio.h>

int main()
{
    int n, i, c, a = 1;

    printf("Enter the number of rows of Floyd's triangle to print: \n");
    scanf("%d", &n);

    for (i = 1; i <= n; i++)
    {
        for (c = 1; c <= i; c++)
        {
            printf("%d ", a);
            a++;
        }

        printf("\n");
    }

    return 0;
}

编译前面的代码将生成一个控制台, 该控制台将提示用户输入一个数字, 该数字定义三角形的行数, 如本文中的图像所示。

很高兴知道

在数学课上, 你可能会遇到一个问题, 老师会问弗洛伊德三角形中给定行的最后一个数字是多少。通过数学计算, 你可以使用以下公式, 在知道行数” n”的情况下找到弗洛伊德三角形的最后一个数字:

三角数查找弗洛伊德三角中最后一行的最后一个数

例如, 给出以下三角形:

1
2 3
4 5 6
7 8 9 10
11 12 13 14
15 16 17 18 19
.....

第十行的最后一个是哪个?只需替换上面提到的公式中的值, 我们就将n替换为行号, 以知道哪个数字将出现在最后一行中:

(10 * (10 + 1)) / 2 = 55

如果我们用我们的代码打印它, 输出将是:

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 51 52 53 54 55

我们将知道, 具有10行的floyd三角形的最后一个数字将为55, 因此该公式将按预期工作。

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何在C中打印弗洛伊德三角形

评论 抢沙发

评论前必须登录!