Buenas noches, (desde España) hace un par de días exactos empeze con el mundo de la programacíon (soy joven, 16 años) y en este foro lei que recomendaban empezar con el libro "Como programar en C/C++, Deitel and Deitel ed. 2" y empeze pero en una de las actividades del tema 2 en el uso de if, hay algo que no me sale. Comparar 3 int (tampoco lo explica). Esto es lo que programe;
#include <stdio.h>
int main()
{
int a, b, c;
printf ("Introduzca tres numeros enteros: ");
scanf ("%d%d%d", &a, &b, &c);
printf ("La suma es: %d\n", a + b + c);
printf ("El promedio es: %d\n", (a + b + c) / 3);
printf ("El producto es: %d\n", a * b * c);
if ("a < b")
if ("b > c")
printf ("El mayor es %d\n", b);
if ("a > b")
if ("c < a")
printf ("El mayor es %d\n", a);
if ("c > a")
if ("c > b")
printf ("El mayor es %d\n", c);
return 0;
}
¿Como lo pondríais ustedes? Gracias.
El error es que estas colocando las condiciones entre comillas, por ejemplo:
if ("a < b")
if ("b > c")
printf ("El mayor es %d\n", b);
Basta con quitarlas todas (las comillas dobles) para que funcione correctamente, el primer "if" debe ser:
if (a < b)
if (b > c)
printf ("El mayor es %d\n", b);
Un saludo
Gracias, no me había fijado, valla error más tonto.
otra pregunta, como lo expondría tu para que el programa diera:
El mayor numero es:
El menor numero es:
Con las menos líneas posibles.
aquí hice uno yop :)
#include <stdio.h>
float uno, dos, tres;
main()
{
/*pide el numero*/
printf("3 numeros: \n \n");
printf("Numero 1: \n");
scanf("%f", &uno);
printf("Numero 2: \n");
scanf("%f", &dos);
printf("Numero 3: \n");
scanf("%f", &tres);
/* hace la magia */
if (uno > dos && uno > tres)
printf("%f es el mayor \n", uno);
if (dos > uno && dos > tres)
printf("%f es el mayor \n", dos);
if (tres > uno && tres > dos)
printf("%f es el mayor \n", tres);
if (uno < dos && uno < tres)
printf("%f es el menor \n", uno);
if (dos < uno && dos < tres)
printf("%f es el menor \n", dos);
if (tres < uno && tres < dos)
printf("%f es el menor \n", tres);
scanf("%d");
return 0;
}
a lo mejor tiene sus errores de sintaxis , pero funcionar funciona :laugh:
Te referís a algo como esto?
printf("El mayor numero es: %d\nEl menor numero es: %d", a, b);
Cita de: R0LFback en 11 Noviembre 2011, 03:28 AM
Te referís a algo como esto?
printf("El mayor numero es: %d\nEl menor numero es: %d", a, b);
:xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD es verdad ajjaj
PD: io lo hice a la manera indio, pero supongo que debe haber alguna función estilo max o min en C
exacto me refiero a eso pero en vez de con dos variables, con 3. Aumenta las opciones, y como bien dice el amigo Chico_Maravilla, como no alla una opcion de max y min la unica manera logica es la expuesta poe el. Yo la pense ya pero me parecierón demasiadas lineas.
--Lo siento He dado publicar envés de Previsualizar--
if (a > b) {
if (b > c) {
printf("\n El numero mayor es %d", a);
printf("\n El numero menor es %d", c);
} else {
if (a > c) {
printf("\n El numero mayor es %d", a);
printf("\n El numero menor es %d", b);
} else {
printf("\n El numero mayor es %d", c);
printf("\n El numero menor es %d", b);
}
}
} else {
if (a > c) {
printf("\n El numero mayor es %d", b);
printf("\n El numero menor es %d", c);
} else {
if (b > c) {
printf("\n El numero mayor es %d", b);
printf("\n El numero menor es %d", a);
} else {
printf("\n El numero mayor es %d", c);
printf("\n El numero menor es %d", a);
}
}
}
#include <stdio.h>
int main()
{
int uno, dos, tres;
printf("3 numeros diferentes:\n\n");
printf("Numero 1: ");
scanf("%d", &uno);
printf("Numero 2: ");
scanf("%d", &dos);
printf("Numero 3: ");
scanf("%d", &tres);
printf ("La suma es %d\n", uno + dos + tres);
printf ("El promedio es %d\n", (uno + dos + tres) / 3);
printf ("El producto es %d\n", (uno * dos * tres));
if (uno > dos && uno > tres)
printf ("%d es el mayor \n", uno);
if (dos > uno && dos > tres)
printf ("%d es el mayor \n", dos);
if (tres > uno && tres > dos)
printf ("%d es el mayor \n", tres);
if (uno < dos && uno < tres)
printf ("%d es el menor \n", uno);
if (dos < uno && dos < tres)
printf ("%d es el menor \n", dos);
if (tres < uno && tres < dos)
printf ("%d es el menor \n", tres);
scanf("%d");
return 0;
}
Al final programe esto. Gracias por ayudarme con la duda