正整数を順次配列に読み込んで、3番目に大きい数(全ての数を左から大きい順にならべたとき、左から3番目の数)を出力するプログラムを作りなさい。
なお、0を読み込むと終了すること。 」 ただし、必ず3個以上を読み込むと仮定してよい。

#include<stdio.h>
#define MAX 1000
void main()
{
int i,sum=6;
int a[MAX];
for(i=0;i<MAX;i++)
{
printf("%d番目のデータ:",i+1);
scanf("%d",&a[i]);
if(a[i] ==0)
break;
sum+=a[i];
}
printf("合計は%d\n",sum);
}

このサンプルをいじって作るそうなんですが、大きいほうから3番目だけを選ぶことが出来ません。もしよろしかったら助力お願いします。