介绍
本实验将引导你通过递归的方式在数组中查找最大元素。该 C 程序将提示用户输入数组的大小,然后输入数组的元素,最后输出数组中的最大元素。
本实验将引导你通过递归的方式在数组中查找最大元素。该 C 程序将提示用户输入数组的大小,然后输入数组的元素,最后输出数组中的最大元素。
首先,在 ~/project/
目录下创建一个名为 main.c
的新文件。然后,将以下代码复制并粘贴到你的文件中,该文件包含了完成本实验所需的所有代码。
#include<stdio.h>
#define MAX 100
int getMaxElement(int []); // 接受一个整数数组作为参数
int size;
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int arr[MAX], max, i;
printf("\n\n输入数组的大小:");
scanf("%d", &size);
printf("\n\n输入 %d 个元素\n\n", size);
for(i = 0; i < size; i++)
{
scanf("%d", &arr[i]);
}
max = getMaxElement(arr); // 将整个数组作为参数传递
printf("\n\n数组中的最大元素是 %d\n\n", max);
printf("\n\n\t\t\tCoding is Fun !\n\n\n");
return 0;
}
int getMaxElement(int a[])
{
static int i = 0, max =- 9999; // static int max=a[0] 是无效的
if(i < size) // 直到最后一个元素
{
if(max < a[i])
max = a[i];
i++; // 在下次迭代中检查下一个元素
getMaxElement(a); // 递归调用
}
return max;
}
这个 C 程序由两个函数组成:main()
和 getMaxElement()
。
main()
arr
的数组来存储数组元素,并初始化变量:max
用于存储数组中的最大元素,i
用于维护函数的迭代。getMaxElement()
函数,并将名为 arr
的数组作为参数传递。max
中的数组的最大元素。getMaxElement()
这是一个递归函数,用于返回数组中的最大元素。
i
用于维护函数的迭代,并将其初始化为 0;声明一个静态值 max
用于存储数组中的最大元素,并将其初始化为一个非常小的值 -9999
。i
的值是否小于数组的大小。i
个元素的值大于当前 max
的值,则将 max
的值更新为数组的第 i
个元素的值。i
设置为下一个元素,并调用 getMaxElement()
函数,使该函数递归执行。要编译并运行代码,请在 ~/project/
目录下打开终端,并按照以下步骤操作:
gcc main.c
以编译代码。./a.out
以运行程序。ENTER
。ENTER
。#include<stdio.h>
#define MAX 100
int getMaxElement(int []); // 接受一个整数数组作为参数
int size;
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int arr[MAX], max, i;
printf("\n\n输入数组的大小:");
scanf("%d", &size);
printf("\n\n输入 %d 个元素\n\n", size);
for(i = 0; i < size; i++)
{
scanf("%d", &arr[i]);
}
max = getMaxElement(arr); // 将整个数组作为参数传递
printf("\n\n数组中的最大元素是 %d\n\n", max);
printf("\n\n\t\t\tCoding is Fun !\n\n\n");
return 0;
}
int getMaxElement(int a[])
{
static int i = 0, max =- 9999; // static int max=a[0] 是无效的
if(i < size) // 直到最后一个元素
{
if(max < a[i])
max = a[i];
i++; // 在下次迭代中检查下一个元素
getMaxElement(a); // 递归调用
}
return max;
}
干得漂亮!你已经成功完成了这个关于如何使用递归查找数组中最大元素的实验。现在你应该对如何使用递归查找数组中的最大元素有了很好的理解。做得好!