Descarga la aplicación para disfrutar aún más
Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
//RESOLUCION DE EJ. DE PARCIALITO DE FUNCIONES #include <stdio.h> int CARGA(); int VERI_PRIMO (int); float PROM (int, int); void MOSTRAR (float, int); int main() { int NUM, MAX, SUMP=0, SUMNP=0, CONTP=0, CONTNP=0; float PROMP, PROMNOP; //INGRESO DEL PRIMER NUMERO NUM = CARGA (); // ACA COMIENZA EL CICLO WHILE, MIENTRAS COD SEA DISTINTO DE 0 VA A SEGUIR PROCESANDO HASTA QUE SE INGRESE NUM = 0 while (NUM != 0) { if (VERI_PRIMO (NUM) == 1) { // SIGNIFICA QUE EL NUMERO ES PRIMO SUMP = SUMP + NUM; CONTP ++; } else // SIGNIFICA QUE EL NUMERO NO ES PRIMO { if (CONTNP == 0 ) MAX = NUM; else if (MAX < NUM) MAX = NUM; SUMNP = SUMNP + NUM; CONTNP ++; } //INGRESO DE lOS SIGUIENTES NUMEROS NUM = CARGA (); } // AQUI SE CIERRA EL WHILE //AHORA SE CALCULAN LOS PROMEDIOS Y EL MAX Y SE MUESTRAN TODOS LOS RESULTADOS PROMP = PROM (SUMP, CONTP); PROMNOP = PROM (SUMNP, CONTNP); // AHORA SE CALCULAN LOS PROMEDIOS PROMP = PROM (SUMP, CONTP); PROMNOP = PROM (SUMNP, CONTNP); // AHORA SE MUESTRAN LOS RESULTADOS printf ("\n\n RESULTADOS DE LOS NUMEROS PRIMOS"); MOSTRAR (PROMP, CONTP); printf ("\n\n RESULTADOS DE LOS NUMEROS NO PRIMOS"); MOSTRAR (PROMNOP, CONTNP); if (CONTNP == 0) printf ("\n\n NO SE INGRESÓ NINGÚN NUMERO NO PRIMO"); else printf ("\n\n EL MAXIMO VALOR DE LOS NO PRIMOS ES %d ", MAX); } int CARGA () {int N; printf("\nINGRESE NUMERO "); scanf ("%d", &N); return N; } float PROM (int S, int C) {float P; //SE CALCULA EL PROMEDIO PEDIDO. NO OLVIDAR CHEQUEAR QUE EL DENIMINADOR SEA DISTINTO DE CERO!!!!!!!! if (C != 0) P = (float)S / C; //SE CASTEA SUM PARA QUE PROM MUESTRE DECIMALES else P = 0; return P; } void MOSTRAR (float P, int C) { printf ("\n\nEl promedio es %.2f y la cantidad es %d ", P, C); } int VERI_PRIMO (int N) { int I, D=0; for (I = 1; I <= N ; I++) if ( N % I == 0) D++; if ( D < 3 ) // SI LA CANTIDAD DE DIVISORES ES MENOR A 3 EL NUMERO ES PRIMO Y SE RETORNA 1. AQUI SE INCLUYE AL 1. EL 1 TIENE UN SOLO DIVISOR. return 1; else return 0; // SI LA CANTIDAD DE DIVISORES ES MAYOR A 2 (ES DECIR MAYOR O IGUAL A 3) EL NUMERO NO ES PRIMO Y SE RETORNA 0 }
Compartir