FreePascal题目,三天打鱼两天晒网,高手进

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:27:10
中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打鱼”,还是在“晒网”?
程序要求:输入一个具体的日期year,输出该天是“打鱼”还是“晒网”。

高手麻烦把源程序输出来,谢谢,感激不尽

现在的人就是太懒了,对于输入的任意的日期,计算出从1990年1月1日到这天的天数,把这个天数整除以5,如果余数为4、0就是在晒网,如果余数为1、2、3就是在打鱼。没有任何技术难题,自己动手就会写,我即使把程序贴上来,你可能还要我给你详细注释。

完整程序如下:

{$apptype console$}
program exp;
function day_of_year(y:integer):integer;//返回某年的天数
begin
  if (y mod 4=0)and((y mod 100<>0) or (y mod 400=0))
  then result:=366
  else result:=365
end;
function day_of_month(y,m:integer):integer;//返回某一月的天数
begin
  case m of
    1,3,5,7,8,10,12:result:=31;
    2:if day_of_year(y)=366 then result:=29 else result:=28;
    else result:=30;
  end
end;
//下面是主程序
var y,m,d,x:integer;
begin
  write('输入年、月、日:');readln(y,m,d);
  x:=d;
  whi