- 伊甸园日历游戏
- 2009-02-23 14:28:34 @
各位大虾 为什么 我的程序 提交后 老是显示 程序输出比正确答案长
?????
是什么原因??
program dad;
var
a:array [1..12]of integer;
y,m1,m,d,i,n,j:longint;
s:string;
begin
readln(n);
a[1]:=31;a[2]:=28;a[3]:=31;a[4]:=30;a[5]:=31;a[6]:=30;a[7]:=31;a[8]:=31;a[9]:=30;a[10]:=31;a[11]:=30;a[12]:=31;
for i:=1 to n do begin
readln(s);
y:=(ord(s[1])-ord('0'))*1000;
y:=y+(ord(s[2])-ord('0'))*100;
y:=y+(ord(s[3])-ord('0'))*10;
y:=y+(ord(s[4])-ord('0'))*1;
if ((y mod 4=0)and(y mod 1000))or(y mod 400=0) then a[2]:=29;
if s[7]=' ' then m:=(ord(s[6])-ord('0'))*1 else begin
m:=(ord(s[6])-ord('0'))*10;
m:=m+(ord(s[7])-ord('0'))*1;
end;
if s[7]=' ' then begin if length(s)=8 then d:=(ord(s[8])-ord('0'))*1
else begin d:=(ord(s[8])-ord('0'))*10;d:=(ord(s[9])-ord('0'))*10;end;end
else begin if length(s)=9 then d:=(ord(s[9])-ord('0'))*1
else begin d:=(ord(s[9])-ord('0'))*10;d:=d+(ord(s[10])-ord('0'))*1;end;end;
y:=2001-y;
m1:=m;
if m>11 then begin m:=m-1;y:=y-1;end else m:=11-m;
m:=m+12*y;
if m0 then d:=a[m1]-d+3 else d:=4-d;
for j:=1 to m-1 do d:=d+a[m1+j];
if in then begin if odd(m+d) then writeln('YES') else writeln('NO');end
else begin if odd(m+d) then write('YES') else write('NO');end;
end;
end.
4 条评论
-
zhengjiaqi LV 6 @ 2013-10-03 19:01:02
program dad;
这是什么 -
2013-10-03 19:00:09@
write('YES') else write('NO');改为writeln
-
2013-07-31 21:58:11@
write('YES') else write('NO');改为writeln
-
2009-04-27 16:36:13@
程序有问题
你的程序有问题!很大的问题!!
这个问题由于太简单了,我就不说了,你自己看吧。
- 1