编写万年历,要求读入年,月,日,输出星期。 pascal

来源:百度知道 编辑:UC知道 时间:2024/06/15 18:30:17
yongPASCAL 付有说明,用子界,枚举
速度,初级的PASCAL,

有公式的哦!!!!!!!!!!!!!!!保证可以!!!!!!

var y,m,d,c,w:longint;
begin
readln(y,m,d);
if m=1 then begin dec(y);m:=13;end;
if m=2 then begin dec(y);m:=14;end;
c:=y div 100;
y:=y mod 100;
w:=trunc(c/4)-2*c+y+trunc(y/4)+trunc((26*(m+1))/10)+d-1;
w:=w mod 7;
if w=0 then w:=7;
writeln(w);
end.

var y,m,d,yy,mm,dd,day,q,w,e:longint;
begin
readln(y,m,d);
day:=1;yy:=1;mm:=1;dd:=1;
repeat
case mm of
1,3,5,7,8,10,12:w:=31;
4,6,9,11:w:=30;
2:if ((yy mod 100<>0)and(yy mod 4=0))or((yy mod 400=0)
and(yy mod 100=0)) then w:=29 else w:=28;
end;
if dd=w then begin dd:=1; mm:=mm+1;
if mm=13 then begin mm:=1; yy:=yy+1; end;
end else dd:=dd+1;
day:=day+1;
until (yy=y)and(mm=m)and(dd=d);
case day mod 7 of
0:writeln('Sunday');
1:writeln('Monday');
2:writeln('Tuesday');
3:writeln('Wednesda