一、概念
二、代码
#include <stdio.h>
int arrayMax(int nums[], int length);
int arrayMax2(int nums[], int length);
int main()
{
// 设计一个函数 int arrayMax(int a[], int count) 找出数组元素的最大值
int nums[3] = {-22,-33,-55};
int length = sizeof(nums) / sizeof(nums[0]);
// int max = arrayMax(nums,length);
int max = arrayMax2(nums,length);
printf("max = %i\n",max);
return 0;
}
#pragma 方式2
int arrayMax2(int nums[], int length)
{
// 1.定义一个变量,保存数组中最大值的角标(索引)
int max = 0;
// 遍历数组
for (int i = 1; i < length; i++) {
// 3.取出数组中对应的角标 的元素值 进行比较
if (nums[max] < nums[i]) {
// 如果 当前遍历到的角标 对应的元素的值 大于max 这个角标对应元素的值
// 那么就将 当前的角标作为 最大值的角标
max = i;
}
}
return nums[max];
}
#pragma 方式1
int arrayMax(int nums[], int length)
{
// 1.定义一个变量,假设为最大值
// int max = 0; // 注意, 不能假设一个不是数组中的值为最大值
int max = nums[0];
// 2.遍历数组
// 没有必要和第一次对比
// for (int i = 0 ; i < length; i++) {
for (int i = 1 ; i < length; i++) {
// 3.依次取出数组中每一个元素的值,和假设的最大值 进行比较
// 如果数组的元素 大于 假设的最大值, 就让当前元素 作为最大值
if (max < nums[i]) {
max = nums[i];
}
}
return max;
}