/* SOLUCIONARIO DE LOS EJERCICIOS PROPUESTOS PARA DE 10 CASOS CON FOR WHILE Y DO WHILE en caso de encontrar fallas avisar al Ing.Enrique Barrueto para hacer las correciones respectivas */ /* -------------------------------------------------- 1) HACER PROGRAMAS QUE MUESTREN LOS MÚLTIPLOS DE 3 A PARTIR DEL NÚMERO 15 HASTA EL 30 INCLUSO. usando FOR --------------------------------------------------*/ # include //usarlo devido al printf main() //aqui empieza el programa { int i; //se declara la variable i for (i=15;i<=30;i+=3) //i empiza en 15 ,en cada vuelta se incrementa en tres y debe ser menor o igual a 30 printf("%d\n",i); //mostrar i en pantalla return 0; } /* -------------------------------------------------- 1) HACER PROGRAMAS QUE MUESTREN LOS MÚLTIPLOS DE 3 A PARTIR DEL NÚMERO 15 HASTA EL 30 INCLUSO. usando WHILE --------------------------------------------------*/ #include main () //empieza el programa { int i; //se declara la variable i i=15; //se inicializa i en 15 while (i<=30) //mientras i menor o igual que 30 { printf ("%d\n",i); //mostrar i en pantalla i+=3; //se incrementa i 3 en cada vuelta } return 0; } /*-------------------------------------------------- 1) HACER PROGRAMAS QUE MUESTREN LOS MÚLTIPLOS DE 3 A PARTIR DEL NÚMERO 15 HASTA EL 30 INCLUSO. usando DO-WHILE --------------------------------------------------*/ #include main () //empieza el programa { int i; //se declara la variable i i=15; //se inicializa i en 15 do { printf ("%d\n",i); //mostrar i en pantalla i+=3; //se incrementa i 3 en cada vuelta }while (i<=30); //mientras i menor o igual que 30 return 0; } /* -------------------------------------------------- 2)HACER UN PROGRAMA QUE MUESTRE LOS MÚLTIPLOS DE 3 Y 5 SIMULTÁNEAMENTE A PARTIR DE 15 HASTA EL NÚMERO 45 INCLUSO. usando FOR --------------------------------------------------*/ #include #include main() { int i; clrscr(); printf("LOS MULTIPLOS DE 3 y 5 DESDE EL NUMERO 15 HASTA 45 son :\n"); for(i=15;i<=45;i++) { if((i%3)==0 || i%5==0) { printf("El multiplo es %d\n",i); } } return 0; } /* -------------------------------------------------- 2)HACER UN PROGRAMA QUE MUESTRE LOS MÚLTIPLOS DE 3 Y 5 SIMULTÁNEAMENTE A PARTIR DE 15 HASTA EL NÚMERO 45 INCLUSO. usando WHILE --------------------------------------------------*/ #include #include main() { int i; clrscr(); printf("LOS MULTIPLOS DE 3 y 5 DESDE EL NUMERO 15 HASTA 45 son :\n"); i=15; while(i<=45) { if((i%3)==0 || (i%5)==0) { printf("El multiplo es %d\n",i); } i++; } return 0; } /* -------------------------------------------------- 2)HACER UN PROGRAMA QUE MUESTRE LOS MÚLTIPLOS DE 3 Y 5 SIMULTÁNEAMENTE A PARTIR DE 15 HASTA EL NÚMERO 45 INCLUSO. usando DO-WHILE --------------------------------------------------*/ #include #include main() { int i; clrscr(); printf("LOS MULTIPLOS DE 3 y 5 DESDE EL NUMERO 15 HASTA 45 son :\n"); i=15; do { if((i%3)==0 || i%5==0) { printf("El multiplo es %d\n",i); } i++; }while(i<=45); return 0; } /* -------------------------------------------------- 3)HACER UN PROGRAMA QUE MUESTRE LOS MÚLTIPLOS DE "M" A PARTIR DE "X" HASTA "Y" INCLUSIVE. USANDO DO --------------------------------------------------*/ #include #include main() { int m,x,y; clrscr(); printf("Este programa es para mostra los multiplos de M, a partir de X hasta Y inluso\n"); printf("Ingresar M\n"); scanf("%d",&m); printf("Ingresar el numero de inicio\n"); scanf("%d",&x); printf("Ingresar el numero final\n"); scanf("%d",&y); printf("Los multiplos son:\n"); do{ if((x%m)==0) { printf("El multiplo es %d\n",x); } x++; }while(x<=y); return 0; } /* -------------------------------------------------- 3)HACER UN PROGRAMA QUE MUESTRE LOS MÚLTIPLOS DE "M" A PARTIR DE "X" HASTA "Y" INCLUSIVE. USANDO FOR --------------------------------------------------*/ #include #include main() { int i,m,x,y; clrscr(); printf("Este programa es para mostrar los multiplos de M, a partir de X hasta Y inluso\n"); printf("Ingrese M\n"); scanf("%d",&m); printf("Ingrese el numero de inicio\n"); scanf("%d",&x); printf("Ingrese el numero final\n"); scanf("%d",&y); for(i=x;i<=y;i++) { if((i%m)==0) { printf("El multiplo es %d\n",i); } } return 0; } /* -------------------------------------------------- 3)HACER UN PROGRAMA QUE MUESTRE LOS MÚLTIPLOS DE "M" A PARTIR DE "X" HASTA "Y" INCLUSIVE. USANDO WHILE --------------------------------------------------*/ #include #include main() { int i,m,x,y; clrscr(); printf("Este programa es para mostrar los multiplos de M, a partir de X hasta Y inluso\n"); printf("Ingresar M\n"); scanf("%d",&m); printf("Ingresar el numero de inicio X\n"); scanf("%d",&x); printf("Ingresar el numero final Y\n"); scanf("%d",&y); while(x<=y) { if((x%m)==0) { printf("El multiplo es %d\n",x); } x++; } return 0; } /* -------------------------------------------------- 4)CUÁLES SON LOS VALORES QUE SE MUESTREN EN PANTALLA EN EL SGTE. PROGRAMA: USANDO FOR se muestra en la pantalla:0123123233 --------------------------------------------------*/ #include #include main() { int i,j; clrscr(); for(i=0;i<5;i++) { for(j=0;j<=3;j++) { if(j>=i) { printf(" %d",j); } } } return 0; } /* -------------------------------------------------- 4)CUÁLES SON LOS VALORES QUE SE MUESTREN EN PANTALLA EN EL SGTE. PROGRAMA: USANDO WHILE se muestra en la pantalla:0123123233 --------------------------------------------------*/ #include #include main() { int i,j; clrscr(); i=0; while(i<5) { j=0; while(j<=3) { if(j>=i) { printf(" %d",j); } j++; } i++; } return 0; } /* -------------------------------------------------- 4)CUÁLES SON LOS VALORES QUE SE MUESTREN EN PANTALLA EN EL SGTE. PROGRAMA: USANDO DO-WHILE se muestra en la pantalla:0123123233 --------------------------------------------------*/ #include #include main() { int i,j; clrscr(); i=0; do { j=0; do { if(j>=i) { printf(" %d",j); } j++; }while(j<=3); i++; }while(i<5); return 0; } /* -------------------------------------------------- 5)CUÁLES SON LOS VALORES QUE SE MUESTREN EN PANTALLA EN EL SGTE. PROGRAMA: con FOR se muestra en la pantalla:000000 --------------------------------------------------*/ #include #include main() { int a,b,i,j; a=1; b=2; clrscr(); for(i=5;i<=8;i++) { a++; b=b+a; for(j=0;j<=2;j++) { b=b*j; if(b<=i) { printf(" %d",b); } else printf("%d",a); } } return 0; } /* -------------------------------------------------- 5)CUÁLES SON LOS VALORES QUE SE MUESTREN EN PANTALLA EN EL SGTE. PROGRAMA: con WHILE se muestra en la pantalla:000000 --------------------------------------------------*/ #include #include main() { int a,b,i,j; a=1; b=2; clrscr(); i = 5; while(i<=8) { a++; b=b+a; j=0; while(j<=2) { b=b*j; if(b<=i) { printf(" %d",b); } else printf("%d",a); j++; } i++; } return 0; } /* -------------------------------------------------- 5)CUÁLES SON LOS VALORES QUE SE MUESTREN EN PANTALLA EN EL SGTE. PROGRAMA: con DO-WHILE se muestra en la pantalla:000000 --------------------------------------------------*/ #include #include main() { int a,b,i,j; a=1; b=2; clrscr(); i = 5; do { a++; b=b+a; j=0; do { b=b*j; if(b<=i) { printf(" %d",b); } else printf("%d",a); j++; }while(j<=2); i++; }while(i<=8); return 0; } /* -------------------------------------------------- 6)HALLAR EL CONSUMO DEL DÍA DE UN RESTAURANT DONDE C/PERSONA QUE LO VISITA PIDE COMO MÁXIMO 3 PLATOS. EL PROGRAMA MOSTRARÁ EL NÚMERO DE VISITANTES Y EL CONSUMO TOTAL. SOLUCION CON WHILE --------------------------------------------------*/ #include #include main() { int seguir,a,b,c,consumo,acum_consumo=0; int visitantes=0; seguir = 1; while (seguir != 0) { scanf("%d %d %d",&a,&b,&c); if ((a+b+c)>0) { consumo = a + b + c; acum_consumo += consumo; visitantes++; } else seguir = 0; } prinft("Los visitantes fueron %d\n",visitantes); prinft("El consumo fué %d\n",acum_consumo); return 0; } /* -------------------------------------------------- 6)HALLAR EL CONSUMO DEL DÍA DE UN RESTAURANT DONDE C/PERSONA QUE LO VISITA PIDE COMO MÁXIMO 3 PLATOS. EL PROGRAMA MOSTRARÁ EL NÚMERO DE VISITANTES Y EL CONSUMO TOTAL. SOLUCION CON DO-WHILE --------------------------------------------------*/ #include #include main() { int seguir,a,b,c,consumo,acum_consumo=0; int visitantes=0; seguir = 1; do { scanf("%d %d %d",&a,&b,&c); if ((a+b+c)>0) { consumo = a + b + c; acum_consumo += consumo; visitantes++; } else seguir = 0; }while (seguir != 0); prinft("Los visitantes fueron %d\n",visitantes); prinft("El consumo fué %d\n",acum_consumo); return 0; } /* -------------------------------------------------- 6)HALLAR EL CONSUMO DEL DÍA DE UN RESTAURANT DONDE C/PERSONA QUE LO VISITA PIDE COMO MÁXIMO 3 PLATOS. EL PROGRAMA MOSTRARÁ EL NÚMERO DE VISITANTES Y EL CONSUMO TOTAL. SOLUCION CON FOR --------------------------------------------------*/ #include #include main() { int seguir,a,b,c,consumo,acum_consumo=0; int visitantes=0; seguir = 1; for(;seguir!=0;) { scanf("%d %d %d",&a,&b,&c); if ((a+b+c)>0) { consumo = a + b + c; acum_consumo += consumo; visitantes++; } else seguir = 0; } prinft("Los visitantes fueron %d\n",visitantes); prinft("El consumo fué %d\n",acum_consumo); return 0; } /* -------------------------------------------------- 7)COMO EN EL CASO #6 PERO MOSTRAR CUAL FUE LA PERSONA QUE CONSUMIÓ MÁS Y CUÁL FUE EL PROMEDIO. Solucion con WHILE --------------------------------------------------*/ #include #include main() { int seguir,a,b,c,consumo,acum_consumo=0; int visitantes=0; int mayor = 0; int posicion = 0; seguir = 1; while (seguir != 0) { scanf("%d %d %d",&a,&b,&c); if ((a+b+c)>0) { consumo = a + b + c; acum_consumo += consumo; visitantes++; if (consumo > mayor) { mayor = consumo; posicion = visitantes } } else seguir = 0; } prinft("Los visitantes fueron %d\n",visitantes); prinft("El consumo fué %d\n",acum_consumo); prinft("El visitante Numero %d fue el que mas consumio \n",posicion); prinft("con un consumo de %d \n",mayor); prinft("El promedio fue %f \n",(acum_consumo * 1.00)/(visitantes *1.00)); return 0; } /* -------------------------------------------------- 7)COMO EN EL CASO #6 PERO MOSTRAR CUAL FUE LA PERSONA QUE CONSUMIÓ MÁS Y CUÁL FUE EL PROMEDIO. Solucion con DO-WHILE --------------------------------------------------*/ #include #include main() { int seguir,a,b,c,consumo,acum_consumo=0; int visitantes=0; int mayor = 0; int posicion = 0; seguir = 1; do { scanf("%d %d %d",&a,&b,&c); if ((a+b+c)>0) { consumo = a + b + c; acum_consumo += consumo; visitantes++; if (consumo > mayor) { mayor = consumo; posicion = visitantes } } else seguir = 0; }while (seguir != 0); prinft("Los visitantes fueron %d\n",visitantes); prinft("El consumo fué %d\n",acum_consumo); prinft("El visitante Numero %d fue el que mas consumio \n",posicion); prinft("con un consumo de %d \n",mayor); prinft("El promedio fue %f \n",(acum_consumo * 1.00)/(visitantes *1.00)); return 0; } /* -------------------------------------------------- 7)COMO EN EL CASO #6 PERO MOSTRAR CUAL FUE LA PERSONA QUE CONSUMIÓ MÁS Y CUÁL FUE EL PROMEDIO. Solucion con FOR --------------------------------------------------*/ #include #include main() { int a,b,c,consumo,acum_consumo=0; int visitantes=0; int mayor = 0; int posicion = 0; for(;;) { scanf("%d %d %d",&a,&b,&c); if ((a+b+c)>0) { consumo = a + b + c; acum_consumo += consumo; visitantes++; if (consumo > mayor) { mayor = consumo; posicion = visitantes } } else break; } prinft("Los visitantes fueron %d\n",visitantes); prinft("El consumo fué %d\n",acum_consumo); prinft("El visitante Numero %d fue el que mas consumio \n",posicion); prinft("con un consumo de %d \n",mayor); prinft("El promedio fue %f \n",(acum_consumo * 1.00)/(visitantes *1.00)); return 0; } /* -------------------------------------------------- 8) SE INGRESAN 10 NÚMEROS A LA COMPUTADORA, DETERMINAR CUÁL FUE EL MENOR. CON FOR --------------------------------------------------*/ #include //usarlo debido al printf y al scanf main() //aqui empieza el programa { int i,menor,cont; //se declara la variable i,menor,cont scanf("%d",&i); //ingresar valores por medio del teclado menor = i; for(cont=1;cont<=9;cont++) //cont=0 y que sea menor que 10 y el cont se incrementa de 1 en cada vuelta { scanf("%d",&i); //ingresar valores por medio del teclado if (i<=menor) //si i es menor o igual menor menor=i; //menor toma el valor de i } printf("el numero menor es %d",menor); //se imprime el numero menor return 0; } /* -------------------------------------------------- 8) SE INGRESAN 10 NÚMEROS A LA COMPUTADORA, DETERMINAR CUÁL FUE EL MENOR. CON WHILE --------------------------------------------------*/ # include main() //empieza el programa { int i,menor,cont; //se declaran las variables i,menor,cont cont=1; //cont se inicializa en uno scanf("%d",&i); //pide ingresar un valor menor = i; while (cont<10) //mientras cont sea menor que 10 { scanf("%d",&i); //pide ingresar un valor if (i<=menor) //si i es menor o igual menor menor=i; //menor toma el valor de i cont++; //cont se incrementa en 1 } printf("el numero menor es %d",menor); //se imprime el numero menor return 0; } /* -------------------------------------------------- 8) SE INGRESAN 10 NÚMEROS A LA COMPUTADORA, DETERMINAR CUÁL FUE EL MENOR. CON DO-WHILE --------------------------------------------------*/ # include main() //empieza el programa { int i,menor,cont; //se declaran las variables i,menor,cont cont=1; //cont se inicializa en uno scanf("%d",&i); //pide ingresar un valor menor = i; do { scanf("%d",&i); //pide ingresar un valor if (i<=menor) //si i es menor o igual menor menor=i; //menor toma el valor de i cont++; //cont se incrementa en 1 }while (cont<10); //mientras cont sea menor que 10 printf("el numero menor es %d",menor); //se imprime el numero menor return 0; } /* -------------------------------------------------- 9. SE INGRESAN 10 NUMEROS AL COMPUTADOR, DETERMINE: - EL MAYOR - EL MENOR - EL PROMEDIO SOLUCION CON FOR --------------------------------------------------*/ # include main() //empieza el programa { int i,menor,cont,mayor,acum; float prom; acum=0; mayor=0; scanf("%d",&i); //pide ingresar un valor para i menor = i; mayor = i; acum = acum + i; //acum va a acumular los valores ingresados for (cont=1;cont<=9;cont++) { scanf("%d",&i); //pide ingresar un valor para i acum=acum+i; //acum va sumando todos los valores ingresados if (imayor) //si i es mas que mayor hacer que mayor=i; // mayor va a tomar el valor de i } prom=acum/10.00; //calula el promedio printf("el numero menor es %d\n",menor);//muestra el numero menor printf("el numero mayor es %d\n",mayor);//muestra el numero mayor printf("el promedio es %f\n",prom); //muestra el promedio return 0; } /* -------------------------------------------------- 9. SE INGRESAN 10 NUMEROS AL COMPUTADOR, DETERMINE: - EL MAYOR - EL MENOR - EL PROMEDIO SOLUCION CON WHILE --------------------------------------------------*/ # include main() //empieza el programa { int i,menor,cont,mayor,acum; float prom; acum=0; mayor=0; scanf("%d",&i); //pide ingresar un valor para i menor = i; mayor = i; acum = acum + i; //acum va a acumular los valores ingresados cont = 1; while (cont<=9) { scanf("%d",&i); //pide ingresar un valor para i cont++; //cont se incrementa en 1 acum=acum+i; //acum va sumando todos los valores ingresados if (imayor) //si i es mas que mayor hacer que mayor=i; // mayor va a tomar el valor de i cont++; } prom=acum/10.00; //calula el promedio printf("el numero menor es %d\n",menor);//muestra el numero menor printf("el numero mayor es %d\n",mayor);//muestra el numero mayor printf("el promedio es %f\n",prom); //muestra el promedio return 0; } /* -------------------------------------------------- 9. SE INGRESAN 10 NUMEROS AL COMPUTADOR, DETERMINE: - EL MAYOR - EL MENOR - EL PROMEDIO SOLUCION CON DO-WHILE --------------------------------------------------*/ # include main() //empieza el programa { int i,menor,cont,mayor,acum; float prom; acum=0; mayor=0; scanf("%d",&i); //pide ingresar un valor para i menor = i; mayor = i; acum = acum + i; //acum va a acumular los valores ingresados cont = 1; do { scanf("%d",&i); //pide ingresar un valor para i cont++; //cont se incrementa en 1 acum=acum+i; //acum va sumando todos los valores ingresados if (imayor) //si i es mas que mayor hacer que mayor=i; // mayor va a tomar el valor de i cont++; }while (cont<=9); prom=acum/10.00; //calula el promedio printf("el numero menor es %d\n",menor);//muestra el numero menor printf("el numero mayor es %d\n",mayor);//muestra el numero mayor printf("el promedio es %f\n",prom); //muestra el promedio return 0; } /* -------------------------------------------------- 10) HACER UN PROGRAMA QUE NOS MUESTRE CUANTOS NUMEROS SON MULTIPLOS DE 2 Y DE 3, CUANDO SE INGRESAN NUMEROS CON SCANF. EL INGRESO TERMINA CUANDO SE INGRESA 0 SOLUCION CON WHILE --------------------------------------------------*/ # include main() { int i; i=1; while (i!=0) //mientras i sea diferente de cero se ejecuta { scanf("%d",&i); if (i>0) if ((i%2)==0 || (i%3)==0) printf("es multiplo de 2 o de 3 el numero %d\n",i); } return 0; } /* -------------------------------------------------- 10) HACER UN PROGRAMA QUE NOS MUESTRE CUANTOS NUMEROS SON MULTIPLOS DE 2 Y DE 3, CUANDO SE INGRESAN NUMEROS CON SCANF. EL INGRESO TERMINA CUANDO SE INGRESA 0 SOLUCION CON FOR --------------------------------------------------*/ # include main() { int i; i=1; for(;i!=0;) // no tiene inicializacion y el contador no existe { scanf("%d",&i); if (i>0) if ((i%2)==0 || (i%3)==0) printf("es multiplo de 2 o de 3 el numero %d\n",i); } return 0; } /* -------------------------------------------------- 10) HACER UN PROGRAMA QUE NOS MUESTRE CUANTOS NUMEROS SON MULTIPLOS DE 2 Y DE 3, CUANDO SE INGRESAN NUMEROS CON SCANF. EL INGRESO TERMINA CUANDO SE INGRESA 0 SOLUCION CON DO WHILE --------------------------------------------------*/ # include main() { int i; i=1; do { scanf("%d",&i); if (i>0) if ((i%2)==0 || (i%3)==0) printf("es multiplo de 2 o de 3 el numero %d\n",i); }while (i!=0); //mientras i sea diferente de cero se repite return 0; }