1

入力-年

出力-うるう年かどうか

私が試してみました

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

4 に答える 4

3

あなたのアルゴリズムは間違っています。そのはず:

if (year mod 400 = 0) or ((year mod 4 = 0) and not (year mod 100 = 0))
于 2012-11-24T20:54:46.143 に答える
3

IsLeapYear関数はすでにファイルで定義されているためdatih.inc、独自のバージョンを作成する必要はなく、sysutilsユニットを追加するだけで済みます。

于 2012-11-26T14:51:06.140 に答える
0

それが役に立てば幸い:

if((a MOD 4) = 0) and ((a MOD 100) = 0) and ((a MOD 400) = 0) then y:=true 
else y:=false;
于 2018-05-20T17:35:04.333 に答える
-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')

終わり。

于 2018-06-18T11:47:03.120 に答える