切换到宽版
  • 6236阅读
  • 8回复

一个简单的问题 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0 发表于: 2008-01-30
题目描述:在程序中输入年份,判断是否为闰年,输出Yes/NO;
程序语言:Pasical。
(注:4年为一闰,没100年多一闰,每400年少一闰)
只看该作者 1 发表于: 2008-01-30
program year;
var y:integer;
begin
  write('please enter the year!');
  read(y);
  if y mod 4=0 then do
    begin
      if y mod 100=0 then do
        begin
          if y mod 400=0 then do write('No!');
          else write('Yes!');
        end;
      else write('No!');
    end;
  else write('No!');
  readln;
end.
只看该作者 2 发表于: 2008-01-30
这是我编的,错误85,少分号。请各位大侠帮帮忙,找一下错
只看该作者 3 发表于: 2008-01-30
如果有什么错误请指出
若有什么更好的思路,算法,请告诉我。
QQ:459715529,请注明:OI爱好者
只看该作者 4 发表于: 2008-01-31
[更正]原帖中“4年为一闰,没100年多一闰,每400年少一闰”应为“每4年为一闰,每100年少一闰,每400年多一闰”
给大家带来不便,请谅解!
离线xyj
只看该作者 5 发表于: 2008-02-02
program year;
var y:integer;
begin
  write('please enter the year!');
  read(y);
  if y mod 4=0 then do {then 后面不用加do }
    begin
      if y mod 100=0 then do {同上}
        begin
          if y mod 400=0 then do write('No!'); {同上,又else 前面不能有分号}
          else write('Yes!');
        end;
      else write('No!');{同上一注释后半部分}
    end;
  else write('No!');{同上}
  readln;
end.
离线xyj
只看该作者 6 发表于: 2008-02-02
正解
program year;
var
y:integer;
begin
read(y);
if ((y mod 4=0) and (y mod 100<>0)) or (y mod 400=0)
  then
  write('YES')
  else
  write('NO');
end.
离线yonghu86cs
只看该作者 7 发表于: 2008-02-20
var
  n:integer;
begin
  readln(n);
  if n mod 4 <>0 then
    begin
      writeln('No!');
      exit;
    end
  else
    begin
      if n mod 100<>0 then
        begin
          writeln('Yes!');
          exit;
        end
      else
        begin
          if n mod 400=0 then writeln('Yes!')
          else writeln('No!');
        end;
    end;
end.
离线001
只看该作者 8 发表于: 2008-03-05
program year;
var y:integer;
begin
  write('please enter the year!');
  read(y);
  if y mod 4=0 then do {then 后面不用加do }
    begin
      if y mod 100=0 then do {同上}
        begin
          if y mod 400=0 then do write('No!'); {同上,又else 前面不能有分号}
          else write('Yes!');
        end;
      else write('No!');{同上一注释后半部分}
    end;
  else write('No!');{同上}
  readln;
end.
快速回复
限100 字节
 
上一个 下一个