2017百川币最新动态:请教一个PASCAL程序

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 19:35:41
怎么编一个程序能计算1901年到2099年之间的某月某日是星期几

program YMDToW;
var
y, m, d, w: Integer;
begin
Write('year: '); Readln(y);
Write('month: '); Readln(m);
Write('day: '); Readln(d);
if m < 3 then
begin
m := m + 12;
y := y - 1;
end;
w := y + y div 4 + y div 400 - y div 50 +
26 * (m + 1) div 10 + d - 1;
Writeln('Day of week: ', w mod 7);
end.

如果你在用Turbo Pascal, 有一个Turbo Vision例子带个小日历的, 查看一下源码, 有日期变星期的, 和我这个一不一样就不记得了. 毕竟用Turbo Pascal编程已经是七八年前的事了.

1月1日的星期数减去1(我们把这个数字叫星期指数)。然后这一年的星期几就都能推算了。

例如2005年1月1日是星期6,那么2005年的星期指数就是5

举个例子,如果我们想算2005年第48天,即2月17号是星期几的话,只需要(48+5)MOD7,得出的余数即是星期数,即2月17号是星期四。
如果余零就是星期日。
怎样把第48天推算成2月17日你就自己想吧。

这样来说,你只要按照我的方法。找出1901年的星期指数就可以了。注意以后的平润年问题。