y aqui vuelvo con otro problemilla, os cuento.Aclaro antes que nada que estoy siguiendo el libro de deitel y solo he estudiado if, else, while. Asi que no os salgais de ahí que ya para mi es mandarin xD
Me he atrancado en el problema que me pide ingresar unos numeros y que te imprima los dos mayores, que me diga el valor mas alto lo hago bien, pero no soy capaz de sacar el segundo mayor. Ya le he dado varias vueltas sin exito. Como siempre supongo que fallo en las mates y no en el lenguaje en si.
Os pongo el que a mi parecer seria mas lógico que funcionara:
Código
/* Programa del libro Tema 3 * ejercicio 3.27 pagina 83 * Introduzca 10 valores y encuentre los dos mas altos*/ #include <stdio.h> int contador = 1; int numero; int mayor = 0; int segundo = 0; int main() { while (contador <=5){ contador += 1; if(numero > mayor){ /*si num es mayor que mayor*/ mayor = numero; /* asigna el valor a mayor*/ if (numero > segundo){ /*si numero es mayor que segundo*/ if (numero < mayor){ /*y mas pequeño que mayor*/ segundo = numero; /*asigna el valor a segundo*/ } } } return 0; }
Viendo que no funcionaba reduje la entrada a 5, asi pruebo mas rapido, que seguro alguien me dice que el enunciado pone introduce 10 xD. El segundo valor siempre me lo deja como 0, una muestra:

edito: Le di a enviar en vez a previsualizar xD





Autor



En línea




, necesito una explicación sobre este programa porfa!...Lo que paso es que yo no podia que me diera el segundo mayor numero y solo puse lo de tu código y listo quedo, pero no entendí el como te encontró ese numero! 
, ya lo entendí más. Pero no me queda claro lo de:


.
