Autor Tema: Funciones en C return código devuelve máximo de tres números lenguajeC CU00547F  (Leído 4571 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenas tardes. Dejo una posible solución del ejercicio CU00547F del tutorial de programación en C lenguajeC desde cero.

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?

La función "max" sirve para comparar los parámetros y devolver el mayor. El resultado sería: "Max value is: 200" devolviendo la función "max" result=num2, es decir, result=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é?

La llamada se produce mediante la instrucción: "ret=max(a,b);". La variable "ret" almacenará 200 porque es lo que devuelve la función "max" (result=200) ó sería lo mismo: "result=num2".

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]
#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;
}

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 a=23;
    int b=87;
    int c=45;
    int ret;

    ret=max(a,b,c);

    printf("Max value is: %d\n", ret);

    return 0;
}

int max(int num1, int num2, int num3){
    int result;
    if(num1>num2 && num1>num3){
        result=num1;
    }else if(num2>num1 && num2>num3){
        result=num2;
    }else{
        result=num3;
    }

    return result;
}

Gracias.
« Última modificación: 11 de Julio 2016, 22:43 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Buenas perfecto

Salu2

 

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".