Download EJERCICIOS PROPUESTOS: 1. Realice un programa en C que lea
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