Perdón, no había leído que no te compilaba.
Aquí hay un error (aunque no sintáctico, sino semántico):
for(i=0;i<4;i++){
if(a[i] < menor){
menor==a[i]; // == es operador de igualdad, no de asignación =
}
}
Y en esta línea:
printf("el menor es % y esta en la posicion a[%d]",%menor,a[i])...