Guarda che il controllo della variabile x viene fatto quando esegue la while e non quando esegue la scanf.
La while viene prima della scanf e in quel momento il valore della x non e' determinato (e questo e' gia' un errore) sebbene essa possa essere diversa da zero ...
Le correzioni che devi apportare dipendono dal "flusso" che tu desideri che il programma abbia ... ma se ho capito potresti scrivere
codice:
int x;
while(1)
{
printf("Inserisci un numero intero positivo: ");
scanf("%d", &x);
if(x==0) break;
if(((x % 4 == 0) && (x % 100!=0)) ||(x % 400 == 0))
printf("Questo numero corrisponde a un anno bisestile mannaggiona!");
else
printf("L'anno non e' bisestile");
printf("\n\n");
}
system("PAUSE");
return 0;