Download EJERCICIOS PROPUESTOS: 1. Realice un programa en C que lea

Document related concepts
Transcript
Universidad Nacional Autónoma de Nicaragua UNAN-León
Departamento de Computación
Laboratorio #4: Estructuras Cíclicas en C (for,while,do…while)
EJERCICIOS PROPUESTOS:
1. Realice un programa en C que lea N números enteros e imprima:
Cuántos de los números leídos son pares.
Cuántos de los números leídos son impares.
La suma de los números pares.
El producto de los números impares.
#include <stdio.h>
void main()
{
int nnum,n=0,i=1,sump=0,np=0,prodimp=1,nimp=0;
printf ("Cuantos numeros? ");
scanf ("%d",&nnum);
while(i<=nnum)
{
printf ("Introduzca el numero:");
scanf ("%d",&n);
if(n%2==0)
{
np++;
sump+=n;
}
if(n%2 != 0)
{
prodimp *=n;
nimp++;
}
i++;
}
printf("Hay %d numeros pares y la suma es: %d\n",np,sump);
printf("Hay %d numeros impares y el producto es: %d\n",nimp,prodimp);
}
2. Realice un programa en C que lea las edades de un grupo de N estudiantes y calcule e
imprima:
• Edad promedio.
• La edad mayor.
• La edad menor.
#include <stdio.h>
1
Universidad Nacional Autónoma de Nicaragua UNAN-León
Departamento de Computación
Laboratorio #4: Estructuras Cíclicas en C (for,while,do…while)
void main()
{
int edad,i=1,sumedad=0,nest,mayedad=0,menedad=100;
float promedad;
printf ("Cuantas edades desea leer? ");
scanf ("%d",&nest);
do
{
printf ("Edad %d:",i);
scanf ("%d",&edad);
if(edad>mayedad)
mayedad=edad;
if(edad<menedad)
menedad=edad;
sumedad+=edad;
i++;
}while(i<=nest);
promedad=sumedad/nest;
printf("La edad promedio es: %.f\n",promedad);
printf("La edad mayor es: %d\n",mayedad);
printf("La edad menor es: %d\n",menedad);
}
3. Realice un programa en C tal que dado un entero imprima el número de bits necesarios
para dicho número.
Ejemplo de salida:
#include<stdio.h>
void main()
{
int num,bits=0,aux;
do
{
printf ("Introduce un entero positivo:");
scanf ("%d",&num);
}while(num<0);
aux=num;
do
2
Universidad Nacional Autónoma de Nicaragua UNAN-León
Departamento de Computación
Laboratorio #4: Estructuras Cíclicas en C (for,while,do…while)
{
bits++;
num /= 2;
} while (num > 0);
printf("Se requieren %d bits para representar %d\n",bits,aux);
}
4. Dado un número entero verificar si es Amstrong.
#include <stdio.h>
#include <math.h>
void main()
{
int n,sumad=0,dig=0,aux;
printf ("Introduzca el numero:");
scanf ("%d",&n);
aux=n;
while(aux != 0)
{
dig=aux%10;
sumad = sumad + pow(dig,3);
aux=aux/10;
}
if(sumad==n)
printf("%d es numero Amstrong\n",n);
else
printf("%d NO es numero Amstrong\n",n);
}
5. El director del zoológico nacional pretende determinar el porcentaje de animales que
hay en las siguientes tres categorías de edades: de 0 a 1 año, de más de 1 año y menos
de 3 y de 3 o más años. El zoológico todavía no está seguro del animal que va a estudiar.
Si se decide por elefantes solo tomará una muestra de 20 de ellos; si se decide por las
jirafas, tomará 15 muestras, y si son chimpancés tomará 40.
#include<stdio.h>
#include<stdlib.h>
enum zoologico
{
elefante=1,jirafa,chimpance
};
3
Universidad Nacional Autónoma de Nicaragua UNAN-León
Departamento de Computación
Laboratorio #4: Estructuras Cíclicas en C (for,while,do…while)
void main()
{
enum zoologico animal;
int muestra,a,edad,cat1=0,cat2=0,cat3=0;
float pc1,pc2,pc3;
switch(animal)
{
case elefante:
muestra=2;
break;
case jirafa:
muestra=15;
break;
case chimpance:
muestra=40;
break;
default:
printf("Animal Incorrecto\n");
exit(1);
}
for(a=1;a<=muestra;a++)
{
printf("Edad: ");
scanf("%d",&edad);
if(edad>=0 && edad<1)
cat1++;
else if(edad>= 1 && edad<3)
cat2++;
else if(edad>=3)
cat3++;
}
pc1=(cat1*100)/muestra;
pc2=(cat2*100)/muestra;
pc3=(cat3*100)/muestra;
printf("El %% de animales de la categoria 1 es:%.2f%%\n",pc1);
printf("El %% de animales de la categoria 2 es:%.2f%%\n",pc2);
printf("El %% de animales de la categoria 3 es:%.2f%%\n",pc3);
}
4