回 帖 发 新 帖 刷新版面

主题:关于PASCAL的星期几问题的再编

[em18]急须各位帮忙.
问题是输路<月,日,星期>输出前月的相同日子的<月,日,星期>,前月同日不存在的日子时,输出前月的最后日的<月,日, 星期>
例 输路12月1日星期2,输出11月1日星期天.
  输路12月31日星期4,输出11月30日星期1
要求使用列举型
请求最好写出程序的详细过程


回复列表 (共2个回复)

沙发

二月多少天?
A:28;B:29;C:...

板凳

const
    d:array [1..12] of byte
     =(31,28,31,30,31,30,31,31,30,31,30,31);
    x:array [1..12] of byte
     =( 3, 0, 3, 2, 3, 2, 3, 3, 2, 3, 2, 3);
  var
    yue,ri,xq:byte;
    y,r,q:byte;
    s:string;
begin
  readln(yue,ri,xq);
  if yue<>1 then y:=yue-1 else y:=12;
  if ri>d[y] then r:=d[y] else r:=ri;
  q:=(xq+7-x[y]) mod 7;if q=0 then q:=7;
  write(yue:3,ri:3,q:3);
  readln;
end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册