高手帮我看看我的pascal程序哪里有问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 21:00:35
program exx_5;
var y,m,d,yd,md,a:real;
begin
readln(y,m,d);
yd:=y-1+(y-1)/4-(y-1)/100+(y-1)/400;
if (( y mod 4=0) and ( y mod 100<>0)) or ( y mod 400=0) then begin
case m-1 of
1:md:=31;
2:md:=29+31;
3:md:=31+29+31;
4:md:=31+29+30+31;
5:md:=31+29+30+31+31;
6:md:=31+29+31+30+31+30;
7:md:=31+29+31+30+31+30+31;

应该改成这样:
program exx_5;
var yd,d,md,y,a,m:longint;
begin
readln(y,m,d);yd:=y-1+(y-1)div 4-(y-1)div 100+(y-1)div 400;
if ((y mod 4=0) and ( y mod 100<>0)) or ( y mod 400=0) then begin
case m-1 of
1:md:=31;
2:md:=29+31;
3:md:=31+29+31;
4:md:=31+29+30+31;
5:md:=31+29+30+31+31;
6:md:=31+29+31+30+31+30;
7:md:=31+29+31+30+31+30+31;
8:md:=31+29+31+30+31+30+31+31;
9:md:=31+29+31+30+31+30+31+31+30;
10:md:=31+29+31+30+31+30+31+31+30+31;
11:md:=31+29+31+30+31+30+31+31+30+31+30;
end;end
else begin
case m-1 of
1:md:=31;
2:md:=28+31;
3:md:=31+28+31;
4:md:=31+28+30+31;
5:md:=31+28+30+31+31;
6:md:=31+28+31+30+31+30;
7:md:=31+28+31+30+31+30+31;
8:md:=31+28+31+30+31+30+31+31;
9:md:=31+28+31+30+31+30+31+31+30;
10:md:=31+28+31+30+31+30+31+31+30+31;
11:md:=3