#include <stdio.h>
int arrayMax(int nums[], int length);
int arrayMax2(int nums[], int length);
int main()
{
// 設(shè)計一個函數(shù) int arrayMax(int a[], int count) 找出數(shù)組元素的最大值
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.定義一個變量,保存數(shù)組中最大值的角標(biāo)(索引)
int max = 0;
// 遍歷數(shù)組
for (int i = 1; i < length; i++) {
// 3.取出數(shù)組中對應(yīng)的角標(biāo) 的元素值 進行比較
if (nums[max] < nums[i]) {
// 如果 當(dāng)前遍歷到的角標(biāo) 對應(yīng)的元素的值 大于max 這個角標(biāo)對應(yīng)元素的值
// 那么就將 當(dāng)前的角標(biāo)作為 最大值的角標(biāo)
max = i;
}
}
return nums[max];
}
#pragma 方式1
int arrayMax(int nums[], int length)
{
// 1.定義一個變量,假設(shè)為最大值
// int max = 0; // 注意, 不能假設(shè)一個不是數(shù)組中的值為最大值
int max = nums[0];
// 2.遍歷數(shù)組
// 沒有必要和第一次對比
// for (int i = 0 ; i < length; i++) {
for (int i = 1 ; i < length; i++) {
// 3.依次取出數(shù)組中每一個元素的值,和假設(shè)的最大值 進行比較
// 如果數(shù)組的元素 大于 假設(shè)的最大值, 就讓當(dāng)前元素 作為最大值
if (max < nums[i]) {
max = nums[i];
}
}
return max;
}