FreePascal的闰年

时间:2012-11-24 20:47:34

标签: pascal freepascal leap-year

输入 - 年份

输出 - 闰年与否

我试过了

Program LeapYear;

var  
    Year:Integer

begin

    writeln('Insert year');
    readln(Year)

    if Year MOD 4 = 0 and Year MOD 100 = 0 and not Year MOD 400 = 0 then
        begin
            writeln(Year,'is leap year')
        end
    else
        begin
            writeln(Year,'is not leap year')
        end

end.

但这不起作用

4 个答案:

答案 0 :(得分:3)

你的算法错了。它应该是:

if (year mod 400 = 0) or ((year mod 4 = 0) and not (year mod 100 = 0))

答案 1 :(得分:3)

IsLeapYear函数已在datih.inc文件中定义,因此您无需编写自己的版本,只需添加sysutils单元。

答案 2 :(得分:0)

希望有所帮助:

if((a MOD 4) = 0) and ((a MOD 100) = 0) and ((a MOD 400) = 0) then y:=true 
else y:=false;

答案 3 :(得分:-1)

Program LeapYear;

Uses crt;

var

Year:Integer;

 begin

clrscr;
  writeln('Insert year');
readln(Year);

if (Year MOD 4 = 0)then 
  writeln(Year,'is leap year');
If (Year Mod 4 >=1 ) Then 
  writeln(Year,'is not leap year')

端。