介绍
在本实验中,我们将学习如何使用递归来计算前 N 个数字的和。我们将使用 C 编程语言编写一个程序,该程序接收用户输入,计算前 N 个数字的和,并将结果输出给用户。递归是一种编程技术,其中函数通过调用自身来解决问题。
在本实验中,我们将学习如何使用递归来计算前 N 个数字的和。我们将使用 C 编程语言编写一个程序,该程序接收用户输入,计算前 N 个数字的和,并将结果输出给用户。递归是一种编程技术,其中函数通过调用自身来解决问题。
首先,我们将创建一个名为 main.c
的新文件。主函数接收用户输入的 N 值,将此输入传递给递归求和函数,然后输出结果。
#include<stdio.h>
int getSum(int);
int main()
{
printf("This program finds the sum of the first N numbers using recursion.\n");
int n, sum;
printf("\nEnter the value of N: ");
scanf("%d", &n);
sum = getSum(n);
printf("\nThe sum of the first %d numbers is %d\n", n, sum);
return 0;
}
在这一步中,我们将定义递归求和函数 getSum()
。该函数接收一个整数参数 n
,并返回前 n
个整数的和。该函数会递归调用,直到 n
小于或等于 0 时停止。
int getSum(int n)
{
static int sum = 0;
if (n <= 0) {
return sum;
}
sum += n;
getSum(n-1);
}
static int sum = 0;
语句用于创建一个静态局部变量。由于这是一个递归函数,当 getSum()
被多次调用时,将使用同一个变量。
程序现在已经准备好运行。使用以下命令编译并运行程序:
$ gcc main.c -o main
$ ./main
#include<stdio.h>
int getSum(int);
int main()
{
printf("This program finds the sum of the first N numbers using recursion.\n");
int n, sum;
printf("\nEnter the value of N: ");
scanf("%d", &n);
sum = getSum(n);
printf("\nThe sum of the first %d numbers is %d\n", n, sum);
return 0;
}
int getSum(int n)
{
static int sum = 0;
if (n <= 0) {
return sum;
}
sum += n;
getSum(n-1);
}
在本实验中,我们学习了如何在 C 编程中使用递归来计算前 N 个数字的和。我们创建了一个程序,该程序接收用户输入,使用递归函数计算前 N 个整数的和,并将结果输出给用户。