pascal 怎么组这个程序~

来源:百度知道 编辑:UC知道 时间:2024/05/08 17:30:05
某年某月有多少天~,怎么解?

下面的函数计算某年某月有几天,比如days(2007,10)返回2007年10月的天数:

function days(y,m):integer;
begin
case m of
1,3,5,7,8,10,12:result:=31;
4,6,9,11:result:=30;
2:if (y mod 4=0) and (y mod 100<>0) or (y mod 400=0)
then result:=29 else result:=30
end;
end;

var
a:array[1..12] of longint=(31,28,31,30,31,30,31,31,30,31,30,31);
year,month:longint;
begin
readln(year,month);
if month=2 then begin
if ((year mod 100=0)and(year mod 400=0)) or ((year mod 100<>0)and(year mod 4=0)) then
writeln('29')
else writeln(a[2]);end;
if month<>2 then writeln(a[month]);
end.

program year;
var
year,month,day:intger;
begin
read(year,month);
case month of
1,3,5,7,8,10,12:day:=31;
4,6,9,11:day:=30;
2:if ((year mod 100=0)and(year mod 400=0)) or ((year mod 100<>0)and(year mod 4=0)) then day:=29
else day:=28;
write(day);
end.