您的位置:首页 > 编程语言 > C语言/C++

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

2019-03-02 01:05 363 查看
[code]#include<iostream>
using namespace std;
void month1(int i,int &count)
{
switch(i)
{
case 1:count+=31;break;
case 2:count+=29;break;
case 3:count+=31;break;
case 4:count+=30;break;
case 5:count+=31;break;
case 6:count+=30;break;
case 7:count+=31;break;
case 8:count+=31;break;
case 9:count+=30;break;
case 10:count+=31;break;
case 11:count+=30;break;
case 12:count+=31;break;
}
}
void month2(int i,int &count)
{
switch(i)
{
case 1:count+=31;break;
case 2:count+=28;break;
case 3:count+=31;break;
case 4:count+=30;break;
case 5:count+=31;break;
case 6:count+=30;break;
case 7:count+=31;break;
case 8:count+=31;break;
case 9:count+=30;break;
case 10:count+=31;break;
case 11:count+=30;break;
case 12:count+=31;break;
}
}
void day1(int a)
{
switch(a+1)
{
case 1:cout<<"打渔"<<endl;break;
case 2:cout<<"打渔"<<endl;break;
case 3:cout<<"打渔"<<endl;break;
case 4:cout<<"晒网"<<endl;break;
case 5:cout<<"晒网"<<endl;break;
}
}
int main()
{
int year,month,day,k;
while(1)
{
int count=0;
cout<<"please input the date as the following format\nyear-month-day\n\n";
cin>>year>>month>>day;
for(int i=2010;i<year;i++)
{
if((i%4==0&&i%100!=0)||(i%400==0))
{
count+=366;
}
else
{
count+=365;
}
}
for(int k=1;k<month;k++)
{
if((year%4==0&&year%100!=0)||(year%400==0))
{
month1(k,count);
}
else
{
month2(k,count);
}
}
count+=day;
cout<<endl<<"day between 2010-1-1 and"<<year<<"-"<<month<<"-"<<day<<"is"<<count<<"days"<<endl<<endl;
if(month==1||month==2)
{
month+=12;
year--;
}
int d=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%5;
if(d==0)
{
d=5;
}
cout<<"that day is:";
day1(d);
cout<<endl;
}
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐