Preguntas básicas de programación
LZ quiere este tipo de respuesta. . . .
//----------------------------------Pregunta 1
#include
#include "e:\myc\zylib\zylib.h"
STRING GetString(indicador STRING);
doble GetReal(solicitud STRING);
int main()
{
precio del libro doble;
nombre del libro STRING;
bookname=GetString("Ingrese una cadena:");
bookprice=GetReal("Ingrese un número real:");
printf("La cadena es: %s \n",bookname);
printf("El número real es: %.2f\n",bookprice);
}
STRING GetString(STRING mensaje )
{
STRING nombre;
printf("%s",prompt);
nombre =GetStringFromKeyboard();
devolver nombre;
}
doble GetReal(solicitud STRING)
{
precio doble;
p>printf("%s",prompt);
precio=GetRealFromKeyboard();
precio de retorno;
}
//------------------------------------- ---Pregunta 2
#include
#include "e:\myc\zylib\zylib.h"
BOOL IsPrime( int n);
int main()
{
int n;
printf("Ingrese un número entero:") ;
scanf( "%d",&n);
if(n>2)
if(IsPrime(n))printf("%d es un número primo\n",n);
else printf("%d no es un número primo\n",n);
else printf("Datos ilegales\ n");
devuelve 0;
}
BOOL IsPrime(int n)
{
int i;
for(i=2 ;i if(n%i= =0) devuelve FALSO; devuelve VERDADERO ; } >//-----------------------Pregunta 3 #include #define VERDADERO 1 int gcd(int x,int y); int main () { int m,n,max; printf("Ingrese dos números enteros positivos: "); escanear( "%d %d",&m,&n); max=gcd(m,n); printf("El máximo común divisor es: %d\n", max ); devuelve 0; } int gcd(int x,int y) { int r; mientras(VERDADERO) { r=x%y; if(r==0 ) romper; x=y; y=r; } devolver y; } //-----------------------Pregunta 4 #include #include "e:\myc\zylib\zylib.h" typedef enum{dom,lun,mar,jue,wen,viernes,sáb} WEEKDAY;//Definir tipo de enumeración int GetInteger(STRING Prompt);//Ingrese un número entero int Count(int año, int mes);//Calcular el número de días desde un determinado mes en un determinado año hasta el 1 de enero de 2007 BOOL IsLeapYear(int n);//Determinar si un determinado año es bisiesto int Month_day(int año ,int mes);//Calcular el número de días de un determinado mes void print(int año,int mes,int total);//Imprimir el calendario de un determinado mes de un determinado año void print1( WEEKDAY día laborable);//Imprimir el primer día de un determinado mes int main() { int año,mes,total; año=GetInteger("ingrese el año:"); if(año<2007) PrintErrorMessage(FALSE," El año es anterior a 2007, error\n"); mes=GetInteger("ingrese el mes:"); total=Count(año,mes); p> print(año,mes,total) ; } int GetInteger(solicitud STRING) { int t; printf(" %s",prompt); t=GetIntegerFromKeyboard(); return t; } int Count(int año,int mes) { int s,i; s=0; p> for(i=2007;i< año;i++) if(IsLeapYear(i))s+=366; else s+=365; for(i=1;i s+=mes_día(año,i); return s; } BOOL IsLeapYear(int n) { devuelve n%4==0 &&n%100!=0||n%400==0; } int mes_día(int año,int mes) { int día; switch(mes) { caso 1: caso 3: caso 5: caso 7: caso 9: caso 10: caso 12:día=31; descanso; caso 2:día=28+IsLeapYear(año);descanso; predeterminado:día=30; } día de devolución; } void print(int año,int mes,int total) { DÍA SEMANAL día laborable; const DÍA DE LA SEMANA primer=lunes; int i,día; printf("%d-%d canlendar\n",año,mes); printf("----------------------------------\n");< / p> printf(" dom lun mar thi wen viernes sáb\n"); printf("------------------- - ---------------\n"); día=mes_día(año,mes); for(i=1; i <=día;i++) { día de la semana=(DÍA DE LA SEMANA)((total+i+primero-1)%7); if( i ==1)print1(día laborable); else if(día laborable==sábado) printf("%4d\n",i); else printf("%4d",i); } printf("\n------------------ - -----------------\n"); } void print1(WEEKDAY día laborable) { if(weekday==0)printf("%4d",1); else if(weekday==1)printf("%8d",1) ; else if(weekday==2)printf("%12d",1); else if(weekday==3)printf("%16d",1) ; else if(weekday==4)printf("%20d",1); else if(weekday==5)printf("%24d",1) ; else if(weekday==6)printf("%28d\n",1); } //----- - --------------------------------- Usted mismo ha cambiado algunas de las rutas de archivos anteriores , Por desgracia, en realidad los algoritmos que escribí para ti son mejores.