才用打擂台的形式,先放一个数max在擂台上,然后每个数都上去和他比较,如果上去的那个数比max大,那么就把max替换成那个数站在擂台上,依次比较,直到所有数都比较完后,站在擂台上的那个max就是最大数
int main()
{
int arr[10] = { 0 };
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
for (i = 0; i < sz; i++)
{
scanf("%d", &arr[i]);
}
int max = 0;
for (i = 0; i < sz; i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
printf("%d", max);
return 0;
}
然而这样写却是错的,因为我们把首先站在擂台上的max赋值了一个,arr数组中并没有的整数0.导致在之后的比较中,如果arr中的数都是负数,那么最后得到的最大值就只max=0;显然0都不是我要求的整数中的数
所以max赋值的时候要赋于arr中的数,而不能赋为0
int main()
{
int arr[10] = { 0 };
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
for (i = 0; i < sz; i++)
{
scanf("%d", &arr[i]);
}
int max =arr[0];//赋值为arr中有的数
for (i = 0; i < sz; i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
printf("%d", max);
return 0;
}