引用 | 编辑
andyz
2005-07-14 22:15 |
楼主
▼ |
||
x0
有没有人知道万年历的公式呢?我是用以下的方法写的 #include <iostream> #include <iomanip> using namespace std; int main() { int year,y,firthday,month={31,28,31,30,31,30,31,31,30,31,30,31},spaceday,counttochangeline; cout<<"enter year"<<endl; cin>>year; y=year-1; firthday=(36+y+(y/4)-(y/100)+(y/400))%7+1; spaceday=firthday-1; if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) month=29; for(int cmonth=0;cmonth<12;cmon .. 访客只能看到部份内容,免费 加入会员 x2
|
引用 | 编辑
夷希微
2005-07-16 08:15 |
1楼
▲ ▼ |
其实您写成这样已经算是很简了(比我以前写的简的太多了) ^^"
尤其是以下这一行 ^_^ firthday=(36+y+(y/4)-(y/100)+(y/400))%7+1;真是没有想到,这样一行公式就可以计算出该年一月第一天是星期几了 ^^" 坦白说,我们以前都是从 1911/1/1 那一天『开始计算』日子的说(因为那一天刚好是星期天 :P) ^^" x0 |
引用 | 编辑
andyz
2005-07-16 10:56 |
2楼
▲ ▼ |
下面是引用夷希微于2005-07-16 08:15发表的 : 原来如此 难怪我看其他人用JAVA SCRIPT 写的年历都有 if (year>1911)之类的 使的我看不懂这行是用来做啥的 x0 |
引用 | 编辑
0951020223
2005-07-21 02:19 |
3楼
▲ ▼ |
下面是引用andyz于2005-07-16 10:56发表的 : 你在网路上看到的网页....那ㄍ事属阴阳合历... 它会从1911开始算...也只是要配合农历的部分..... 国历的部分..参考一下我发过的问题.....http://bbs.mychat.to/read.php?tid=132955&keyword= 农历就有点难搂....看过有人用星体运动的程式库来算的....(因为它是算月球运动嘛....) x0 |
引用 | 编辑
frankie19911
2010-10-20 12:20 |
5楼
▲ ▼ |
大大!!!我是新新手!!可以麻烦给个注解!!??
x0 |