中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言/java/python实现程序解决问题。

在这里插入代码片

/* 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,
问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言/java/python实现程序解决问题。*/
#include <stdio.h>
#define N 200
int TheJudgeOfLeapYear(int year)
{
    int judge;
 if(year%40000||(year%40&&year%100)){
    judge=1;
 }
 else{
    judge=0;
 }
 return judge;
}
int ExtraDay(int month,int day,int judge)
{  
 int sum ;
 switch(month){//计算month月前的天数
        case 1:sum=0;break;
        case 2:sum=31;break;
           case 3:sum=59+judge;break;
     case 4:sum=90+judge;break;
     case 5:sum=120+judge;break;
     case 6:sum=151+judge;break;
     case 7:sum=181+judge;break;
     case 8:sum=212+judge;break;
     case 9:sum=243+judge;break;
     case 10:sum=273+judge;break;
     case 11:sum=304+judge;break;
     case 12:sum=334+judge;break; 
 }
 sum+=day;
 return sum;
}
int run(int data)
{
     int InitialYear,year,month,day,days=0;
  year=data/10000;
  month=(data%10000)/100;
  day=data%100;
  for(InitialYear=2010;InitialYear<year;InitialYear++){
         days+=TheJudgeOfLeapYear(InitialYear)+365;
  }
     days+=ExtraDay(month,day,TheJudgeOfLeapYear(InitialYear));
  return days;
}
int CheckOfData(int check)
{  
 int JUDGE,LEAP,CHECK[13]={0,31,59,90,120,151,181,212,243,273,304,334,365},loop,month,day;
 if(check/10000<2010){
    JUDGE=0;
 }
 else{
    month=(check%10000)/100;
    day=check%100;
    LEAP=TheJudgeOfLeapYear(check/10000);
    for(loop=2;loop<13;loop++){
     CHECK[loop]+=LEAP;
    }
    if((CHECK[month-1]+day)>CHECK[month]||month>12||month<1){
       JUDGE=0;
    }
    else{
       JUDGE=1;
    }
 }
 return JUDGE;
 
}
int main (void)
{
  int select;
  printf(“若要选择自行输入模式则输入1,若要使用文件进行数据测试请输入2:”);
  scanf("%d",&select);
  if(select1){
     int days,data;
  printf(“请输入日期:”);
  scanf("%d",&data);
  if(CheckOfData(data)){
     days=run(data);
        if(days%5
4||!(days%5)){
           printf(“今天晒网\n”);
  }
       else {
        printf(“今天打鱼\n”);
    }
  }
  else {
      printf(“error!please printf again!\n”);
  }
  }
  else {
        int data[N],i=0,j,days;
  char ch=’\n’;
     FILE * ftest,*fresult;
     ftest=fopen(“test.txt”,“rt”);
        fresult=fopen(“result.txt”,“at”);
        while(fscanf(ftest,"%d",&data[i++])!=EOF);
  for(j=0;j<i-1;j++){
   if(CheckOfData(data[j])){
         days=run(data[j]);
      if(days%5==4||!(days%5)){
                  fprintf(fresult,“he’s going to burn the net in %d.%c”,data[j],ch);
      }
               else {
               fprintf(fresult,“he’s going to fishing in %d.%c”,data[j],ch);
      }
   }
   else{
        fprintf(fresult,“error!please printf again!%c”,ch);
   }
  }
       
  }
}

发布了19 篇原创文章 · 获赞 3 · 访问量 3680

猜你喜欢

转载自blog.csdn.net/ASingleWolf/article/details/88028287