Buenas tardes. Dejo una posible solución del ejercicio CU00547F del tutorial de programación en C lenguajeC desde cero.
EJERCICIO
Estudia el siguiente código:
#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
}
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.
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".
c) Reescribe el código de modo que todos los if lleven corchetes delimitadores { … } tanto para los if como para los else.
#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;
}
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.
#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.