void findMaxAndMin(int* arr)
{
int max, max1, max2;
int min, min1, min2;
max = arr[0];
max1 = arr[0];
max2 = arr[0];
min = 9999;
min1 = 9999;
min2 = 9999;
for (int i = 0; i < 10;i++)
{
if (arr[i] > max1 && arr[i] > max)
{
max1 = max;
max = arr[i];
}
else
{
if (arr[i] > max1)
{
max2 = max1;
max1 = arr[i];
}
else if (arr[i] > max2)
{
max2 = arr[i];
}
}
if (arr[i] < min)
{
min2 = min1;
min1 = min;
min = arr[i];
}
else if(arr[i] < min1)
{
min2 = min1;
min1 = arr[i];
}
else if(arr[i] < min2)
{
min2 = arr[i];
}
}
printf("max:%d max1:%d max2:%d min:%d,min1:%d,min2:%d", max, max1, max2, min, min1, min2);
}
我试的是 n=10的情况下,然后min三个变量的初始化是一个 你不可能超过的一个值。