/*------------------------------------------------------------- Colaboracion de los Alumnos USAT Demostrar las funciones Suma, Resta, Multiplicacion, Kmax y Kmin Kmax .- devuelve el numero mayor de 2 numeros Kmin .- devuelve el numero menor de 2 numeros */ #include // Prototipos int suma (int a,int b); int resta (int a,int b); int multi (int a,int b); int kmax (int a,int b); int kmin (int a,int b); // Programa Principal main () { int a,b,s,r,m,max,min; a=23; b=17; s=suma(a,b); printf ("la suma de los dos numeros es %d\n",s); r=resta(a,b); printf ("la resta de los dos numeros es %d\n",r); m=multi(a,b); printf ("la multiplicacion de los dos numeros es %d\n",m); max=kmax(a,b); printf ("el numero maximo es %d\n",max); min=kmin(a,b); printf ("el numero menor es %d\n",min); return 0; } // desarrollo de funciones // FUNCION SUMA int suma (int a,int b) { int c; c=a+b; return c; } // FUNCION RESTA int resta (int a,int b) { int d; d=a-b; return d; } // FUNCION MULTIPLICAR int multi (int a,int b) { int e; e=a*b; return e; } // FUNCION KMAX PARA OBTENER EL NUMERO MAYOR DE 2 NUMEROS int kmax (int a,int b) { int f; if (a>b) f=a; else f=b; return f; } // FUNCION KMIN PARA OBTENER EL NUMERO MENOR DE 2 NUMEROS int kmin (int a,int b) { int g; if (a Long factorial(Long a); main() { Long x,y; printf("Ingrese el numero del que desea hallar el factorial\n"); scanf("%d",&x); y=factorial(x); printf("El Factorial de %d es %d\n",x,y); return 0; } Long factorial(Long a) { Long f=1,p; // factorial de 0 es 1 if (a==0) return 1; // calculo del factorial para otros numeros p=a; do { f=f*p; p=p-1; } while (p>=1); return f; } /*------------------------------------------------------------- Colaboracion de los Alumnos Cálculo del Factorial días transcurridos entre 2 fechas */ #include // prototipos // devuelve 1 si es biciesto o 0 si no lo es int biciesto(int A); // dias transcurridos entre 1/1/1 y D/M/A long diastranscurridos( int D, int M, int A ); // dias entre 2 fechas long diasentrefechas( int D1, int M1, int A1, int D2, int M2, int A2 ); main() { int D1, M1, A1, D2, M2, A2; long dias; printf("\nIngrese las fechas: \n"); scanf("%d %d %d %d %d %d", &D1,&M1,&A1,&D2,&M2,&A2 ); dias = diasentrefechas(D1,M1,A1,D2,M2,A2); printf("Han transcurrido %ld dias",dias); return 0; } // determina si un año es biciesto o no int biciesto(int A) { // un año es biciesto si es multiplo de 4 pero no de 100 (excepto cuando // sea multiplo de 400) if ( A % 4 == 0 && (A % 100 != 0 || A % 400 == 0 ) ) return 1; else return 0; } // determina los dias transcurridos desde la fecha 1/1/1 hasta D/M/A long diastranscurridos( int D, int M, int A ) { long total; int i; // calcular los dias transcurridos hasta el año A-1 total = 0; for ( i = 1; i < A; i++ ) if ( biciesto(i) ) total = total + 366; else total = total + 365; // calcular los dias transcurridos hasta el mes M-1 del año A for ( i = 1; i < M; i++ ) switch ( i ) { case 1: // enero case 3: // marzo case 5: // mayo case 7: // julio case 8: // agosto case 10: // octubre case 12: // diciembre total = total + 31; break; case 4: // abril case 6: // junio case 9: // setiembre case 11: // noviembre total = total + 30; break; case 2: // febrero if ( biciesto(A) ) total = total + 29; else total = total + 28; break; } // calcular los dias transcurridos hasta el mes dia D del mes M del año A total = total + D; return total; } // determina los dias transcurridos desde la fecha D1/M1/A1 hasta D2/M2/A2 long diasentrefechas( int D1, int M1, int A1, int D2, int M2, int A2 ) { long dias1, dias2; // dias transcurridos hasta la fecha D1/M1/A1 dias1 = diastranscurridos( D1, M1, A1 ); // dias transcurridos hasta la fecha D2/M2/A1 dias2 = diastranscurridos( D2, M2, A2 ); return dias2 - dias1; }