Hola, dejo una posible solución al ejercicio CU00544F del curso online de programación en lenguaje C.
EJERCICIO Nº 1
Estudia el siguiente código y responde a las preguntas:
#include <stdio.h>
#include <stdlib.h>
// Ejercicios aprenderaprogramar.com
int main(){
float num,average,sum;
int i,n;
printf("Maximum no. of inputs\n");
scanf("%d",&n);
for(i=1;i<=n;++i){
printf("Enter n%d: ",i);
scanf("%f",&num);
if(num<0.0)
break;
sum=sum+num;
}
average=sum/(i-1);
printf("Average=%.2f",average);
return 0;
}
a) ¿Para qué crees que sirve este código?
Programa que nos dirá la media n números.
b) Qué ocurre si introducimos como maximum no. of inputs 8 e introducimos los números 1.5, 12.5 y -1 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?
Que en cuanto introducimos un número negativo, el programa solo nos devolverá el resultado de calcular de la media de los número introducidos, exceptuando el número negativo. Esto ocurre porque así lo indica en esta línea:
if(num<0.0) break;
c) ¿Qué signficado tiene %.2f dentro de este programa?
Que se imprimirá una variable tipo float con 2 decimales.
EJERCICIO Nº 2
Estudia el siguiente código y responde a las preguntas:
#include <stdio.h>
#include <stdlib.h>
// Ejercicios aprenderaprogramar.com
int main(){
int i,num,product;
for(i=1,product=1;i<=4;++i){
printf("Enter num%d:",i);
scanf("%d",&num);
if(num==0)
continue;
product*=num;
}
printf("product=%d",product);
return 0;
}
¿Para qué crees que sirve este código?
Nos dice el producto de 4 números que introduciremos previamente.
Ej: si introducimos estos 4 números: 4, 3, 2, 1 nos devolverá 4*3*2*1.
Qué ocurre si introducimos como números 3, 0, -5, 2 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?
Que solo multiplica los número que sean distintos de 0. Esto ocurre porque en el if se comprueba si se introduce 0 como valor, y si es así, usamos continue para que el código no multiplique 0 por la variable donde hemos ido almacenando el valor de las multiplicaciones anteriores.
¿Es legal escribir un if sin los corchetes { … }?
No.
Qué ocurre si introducimos como números 0, 0, 0, 0 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?
Que el producto nos devuelve 1, porque es el valor que le hemos asignado a la variable product anteriormente.
Saludos.
![Sonreir ;D](https://aprenderaprogramar.com/foros/Smileys/default/grin.gif)