中国には「三日坊主」ということわざがある.ある人は2010年1月1日から「3日間魚を打って2日間網を干す」ことを始め、その人にその後のある日に「魚を打つ」か「網を干す」かを聞いた.CまたはC++言語/java/python実装プログラムで問題を解決します.
2701 ワード
中国では「三日坊主」ということわざがあります.ある人は2010年1月1日から「3日間魚を打って2日間網を干す」ことを始め、その人にその後のある日に「魚を打つ」か「網を干す」かを聞いた.CまたはC++言語/java/pythonインプリメンテーションで問題を解決します.*/#include #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 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%54||!(days%5)){ printf(「今日はネットを干す」); } else { printf(「今日は魚を打つ」); } } else { printf(“error!please printf again!”); } } else { int data[N],i=0,j,days; char ch=’’; FILE * ftest,*fresult; ftest=fopen(“test.txt”,“rt”); fresult=fopen(“result.txt”,“at”); while(fscanf(ftest,"%d",&data[i++])!=EOF); for(j=0;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); } } } }