Autor Tema: Ejemplo funciones en C hallar el máximo de dos números C (LenguajeC) CU00547F  (Leído 20990 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola, dejo una posible solución para el ejercicio CU00547F del curso online de programación en Lenguaje C.

Citar
EJERCICIO
Estudia el siguiente código:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int max(int num1, int num2);
 
int main () {
   int a = 100;
   int b = 200;
   int ret;
   ret = max(a, b);
   printf( "Max value is : %d\n", ret );
   return 0;
}
 
int max(int num1, int num2) {
   int result;
   if (num1 > num2)
      result = num1;
   else
      result = num2;
   return result; //Ejercicios aprenderaprogramar.com
}
Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve la función max? ¿cuál será el resultado del programa?
Para determinar cual de los dos números es mayor.
"Max calue is : 200"

Citar
b) ¿En qué línea se produce la llamada a la función max? ¿Qué valor se almacenará en la variable ret y por qué?
ret = max(a, b);
200, que es el resultado que devuelve la función max.

Citar
c) Reescribe el código de modo que todos los if lleven corchetes delimitadores { … } tanto para los if como para los else.
Código: [Seleccionar]
int max(int num1, int num2);
 
int main () {
   int a = 100;
   int b = 200;
   int ret;
   ret = max(a, b);
   printf( "Max value is : %d\n", ret );
   return 0;
}
 
int max(int num1, int num2) {
   int result;
   if (num1 > num2){
      result = num1;
   }else{
      result = num2;
   }
   return result; //Ejercicios aprenderaprogramar.com
}

Citar
d) Crea un programa análogo a este con una función que permita determinar, dados tres números, cuál es el mayor. Invoca la función pasándole como datos 23, 87, 45 y muestra el resultado devuelto por la función por pantalla.
Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int max(int num1, int num2, int num3);

int main() {
    int num1 = 23;
    int num2 = 87;
    int num3 = 45;
    int resultado;

    resultado = max(num1, num2, num3);
    printf( "El valor m\xA0ximo es : %d\n", resultado );
    return 0;
}
int max(int num1, int num2, int num3) {
    int resultado = 0;
    if (num1 > num2 && num1 > num3){
        resultado = num1;
    } else if (num2 > num1 && num2 > num3){
        resultado = num2;
    } else if (num3 > num1 && num3 > num2){
        resultado = num3;
    }
    return resultado;
}

Saludos. ;D
« Última modificación: 27 de Junio 2016, 22:16 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:C (LenguajeC) Funciones en C. CU00547F
« Respuesta #1 en: 27 de Junio 2016, 22:16 »
Hola! Todo bien, una cosa interesante sería ver: ¿si le pasamos como números a la función del apartado d) 87, 87, 45 ¿Qué resultado obtendríamos? ¿Sería lo deseable? Y si no es lo deseable, ¿cómo podríamos modificarlo para que nos devuelva 87?

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola César.

Añadiendo un "=" después de cada ">" en las condiciones del "if" de la función "max" valdría para obtener un buen resultado, dicha función quedaría así:

Código: [Seleccionar]
int max(int num1, int num2, int num3) {
    int resultado = 0;
    if (num1 >= num2 && num1 >= num3){
        resultado = num1;
    } else if (num2 >= num1 && num2 >= num3){
        resultado = num2;
    } else if (num3 >= num1 && num3 >= num2){
        resultado = num3;
    }
    return resultado;
}

Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".