Devo scrivere un programma che chiede 15 interi e visualizza il primo ed il secondo numero maggiori a non mi funziona...cioè il primo amggiore lo dà correttamente ma il secondo no...il codice è questo:

codice:
#include <stdio.h>
#include <stdlib.h>

int main(){
    int contatore, corrente;
    int maggiore1 = 0;
    int maggiore2 = 0;
    
    printf("Inserire il primo valore:\n");
    scanf("%d", &corrente);
    maggiore1 = corrente;    // Il primo valore immesso è anche il maggiore
    
    for(contatore=1; contatore<15; contatore++){
        printf("Inserire un altro valore:\n");
        scanf("%d", &corrente);
        
        if(corrente > maggiore1)
                maggiore1 = corrente;
        else if(corrente < maggiore1 && corrente > maggiore2)
                maggiore2 = corrente;
                
    }
    
    printf("Maggiore1: %d", maggiore1);
    printf("Maggiore2: %d", maggiore2);
    
    system("PAUSE");
    return 0;
}
come mak non và?

Grazie