正确的写法:
思路:用10个数里面的随便一个数和其他9个比较,大的那个赋值给max。
(1)用第一个数和其它9个数比较
#include<stdio.h>
int main()
{
int arr[] = { -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 };
int i = 0;//这里的i代表数组的下标
int max = arr[0];
for (i = 1; i < 10; i++)
{
if (max < arr[i])
{
max = arr[i];
}
}
printf("%d\n", max);//-1
return 0;
}
(2)10个中随便一个数和其他9个比较
#include<stdio.h>
int main()
{
int arr[] = { -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 };
int i = 0;//这里的i代表数组的下标
int max = arr[6];
for (i = 0; i < 10; i++)
{
if (max < arr[i])
{
max = arr[i];
}
}
printf("%d\n", max);//-1
return 0;
}
有漏洞的写法
这里如果用零和数组里面的值比较,那么数组里面只能放正数。假如放负数的话,此时的最大值只能是0,就不能比较出最大的那个负数。
#include<stdio.h>
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;//这里的i代表数组的下标
int max = 0;
for (i = 0; i < 10; i++)
{
if (max < arr[i])
{
max = arr[i];
}
}
printf("%d\n", max);//10
return 0;
}