这个代码pta有一个地方过不去,c语言求次大值

定义一个有10个元素的整型一维数组a,输入10个无重复数据存于该一维数组,找出其中最大数和次大数,要求不用排序实现,用一个循环实现。
输入格式:
输入10个整数,空格间隔,赋值给数组a,系统保证输入的数据不重复。
输出格式:
输出两行,第一行为最大数,第二行为次大数。
#include<stdio.h>
int main()
{
int a[10],i,max=0,min=0;

for(i=0;i<10;i++)
{
    scanf("%d",&a[i]);    
}

max=min=a[0];
for(i=0;i<10;i++){
    if(a[i]>max)
    {
        min=max;
        max=a[i];
    }else if(a[i]>min){
        min=a[i];
    }
}

printf("%d\n",max);
printf("%d\n",min);
return 0;

}

兄弟,思路错了。
你想想a[i]>max了,a[i]>min不?所以else if的结果是什么呢?考虑完了,就知道什么是正确答案了