首页 新闻 会员 周边

c++难题1

0
[已解决问题] 解决于 2010-04-06 20:44

中国俗话:“三天打渔,两天晒网”,某人从1990年1月1日起开始三天“打渔”,两天“晒网”,问这个人在以后的某一天中是“打渔”,还是“晒网”?

问题补充: 要求编写一段代码,键盘输入日期,然后屏幕输出是“打鱼”,还是“晒网”,麻烦能写的详细些吗?
莫弃的主页 莫弃 | 初学一级 | 园豆:200
提问于:2010-04-02 18:42
< >
分享
最佳答案
0

这个问题是个日历问题

if(以后某天-1990.1.1)%5/3==0 打渔

else 晒网

xu_java | 初学一级 |园豆:21 | 2010-04-05 14:42
这个方法牛逼,不过......
swyma | 园豆:185 (初学一级) | 2010-04-06 00:07
@summerdir: #include <iostream> using namespace std; int year0=1990; int month0=1; int day0=1; int days(int y,int m,int d);//计算天数 int main() { int year,month,day; while (cin>>year>>month>>day) { if (days(year,month,day)%5/3==0) { cout<<"DA YU"<<endl; } else cout<<"SHAI WANG"<<endl; } return 0; } int JudgeYear(int year) { return (year%400==0)||(year%4==0&&year%100!=0);//是闰年返回1 不是返回0 } int days(int y,int m,int d) { int days=0; int i; int Dtable[]={31,28,31,30,31,30,31,31,30,31,30,31}; if (JudgeYear(y)) Dtable[1]=29; for(i=year0;i<y;i++) days=days+365+JudgeYear(i); for (i=month0;i<m;i++) days=days+Dtable[i-1]; days=days+d-day0; return days; }
xu_java | 园豆:21 (初学一级) | 2010-04-06 13:44
其他回答(1)
0

这个“三天打渔,两天晒网”的类型都应该有4*5=20种吧!好难!有点不明白!

IT日志 | 园豆:207 (菜鸟二级) | 2010-04-05 12:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册