使用递归相加两个数字

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在 C 编程中,我们可以使用递归(recursion)来相加两个数字。递归是一种函数,它会反复调用自身,直到满足终止条件。在本实验中,我们将创建一个 C 程序,使用递归来相加两个数字。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("`C`")) -.-> c/BasicsGroup(["`Basics`"]) c(("`C`")) -.-> c/FunctionsGroup(["`Functions`"]) c(("`C`")) -.-> c/FileHandlingGroup(["`File Handling`"]) c(("`C`")) -.-> c/UserInteractionGroup(["`User Interaction`"]) c/BasicsGroup -.-> c/operators("`Operators`") c/FunctionsGroup -.-> c/function_declaration("`Function Declaration`") c/FunctionsGroup -.-> c/function_parameters("`Function Parameters`") c/FunctionsGroup -.-> c/recursion("`Recursion`") c/FileHandlingGroup -.-> c/create_files("`Create Files`") c/UserInteractionGroup -.-> c/user_input("`User Input`") c/UserInteractionGroup -.-> c/output("`Output`") subgraph Lab Skills c/operators -.-> lab-123193{{"`使用递归相加两个数字`"}} c/function_declaration -.-> lab-123193{{"`使用递归相加两个数字`"}} c/function_parameters -.-> lab-123193{{"`使用递归相加两个数字`"}} c/recursion -.-> lab-123193{{"`使用递归相加两个数字`"}} c/create_files -.-> lab-123193{{"`使用递归相加两个数字`"}} c/user_input -.-> lab-123193{{"`使用递归相加两个数字`"}} c/output -.-> lab-123193{{"`使用递归相加两个数字`"}} end

打开 main.c 文件

首先,打开 ~/project/ 目录中的 main.c 文件。这是我们编写 C 程序的地方。

编写代码

main.c 文件中编写以下代码。该代码使用递归相加两个数字。

#include <stdio.h>

// Function to add two numbers using recursion
int add(int m, int n)
{
    if(n == 0)
        return m;

    int y = add(m, n-1) + 1;
    return y;
}

int main()
{
    printf("Adding Two Numbers Using Recursion\n");

    int num1, num2, result;
    printf("Enter first number: ");
    scanf("%d", &num1);

    printf("Enter second number: ");
    scanf("%d", &num2);

    result = add(num1, num2);
    printf("Result is: %d", result);

    return 0;
}

运行代码

保存 main.c 文件并编译和运行代码。你将被提示输入两个数字。输入数字后,程序将打印这两个数字的和。

理解代码

add 函数接受两个整数参数 mn。如果 n 等于 0,则返回 m。如果 n 不等于 0,则将 add 函数的结果(参数为 mn-1)加 1。

main 函数提示用户输入两个整数,调用 add 函数将它们相加,并打印结果。

修改代码

尝试修改 add 函数,改变它相加数字的方式。例如,你可以将重复加 1 改为加 2 或加 3。通过实验修改代码,观察会发生什么变化。

总结

在本实验中,我们学习了如何创建一个使用递归相加两个数字的 C 程序。递归是解决此类问题的强大工具,它可以成为你编程工具箱中的一项有用技术。

您可能感兴趣的其他 C 教程