转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
万年梨吃法之我见         ★★★★

万年梨吃法之我见

作者:闵涛 文章来源:闵涛的学习笔记 点击数:694 更新时间:2009/4/23 14:57:55

{ 万年梨吃法之我见,万年梨吃法之我见,万年梨吃法之我见}
program www;
var year :integer;
Function monthday(year,month:integer):integer;{第year年第month月的天数}
begin
case month of
0 :monthday:=0;
4,6,9,11 :monthday:=30;
1,3,5,7,8,10,12:monthday:=31;
2 :if (year mod 4 =0) and (year mod 100$#@60;>0) or (year mod 400=0)
then monthday :=29
else monthday :=28
end; end;
Function firstday(year,month:integer):integer; {第year年第month月一日是星期几}

var m,n,i :integer;
totaldays :integer;
Function monthto(year,month:integer):integer; {第year年从一月道(month-1)月?
var y,z :integer;
begin
y:=0;
for z:=1 to ( month-1 ) do
y:=y+monthday(year,z);
monthto:=y;
end;
BEGIN
if year>=2000 {以2000年为标准年分情况讨论}
then
begin
i:=0;
for n:=1999 to (year-1) do
if monthday(n,2)=29 then i:=i+1;
totaldays:=year-2000+i;
m:=(totaldays+6)mod 7;
m:=(m+monthto(year,month)) mod 7;
firstday:=m;
end
else {年数小于2000的算法}
begin
i:=0;
for n:=1999 downto (year-1) do
if monthday(n,2)=29 then i:=i+1;
totaldays:=-(1999-year+i+1);
m:=(totaldays+6)mod 7;
m:=(m+monthto(year,month)) mod 7;
firstday:=m;
end;
END;
Procedure weekout; {输出三个星期头}
var a :integer;
begin
for a:=1 to 3 do
write( SU MO TU WE TH FR SA); writeln;
end;
PROCEDURE day(x:integer); {输出三个月日子的过程}
var month1,month2,month3 :integer;
dayone,daytwo,daythree :integer;
t ,p :integer;
BEGIN
month1:=1; month2:=1; month3:=1;
dayone:=firstday(year,x);
daytwo:=firstday(year,(x+1));
daythree:=firstday(year,(x+2));
write(month1:3*(dayone+1)); {输出三个月天数的第一行}
repeat if dayone$#@60;6 then be month1:=month1+1;
write(month1:3); end;
dayone:=dayone+1;
until dayone=7;
write(month2:3*(daytwo+1));
repeat if daytwo$#@60;6 then begin month2:=month2+1;
write(month2:3)end;
daytwo:=daytwo+1;
until daytwo=7;
write(month3:3*(daythree+1));
repeat if daythree$#@60;6 then begin month3:=month3+1;
write(month3:3); end;
daythree:=daythree+1;
until daythree=7;
writeln; p:=0;
repeat p:=p+1; {输出三个月天数的2,3,4行}
t:=0;
repeat
month1:=month1+1;write(month1:3);
t:=t+1;
until t=7;
t:=0;
repeat
month2:=month2+1;write(month2:3);
t:=t+1;
until t=7;
t:=0;
repeat
month3:=month3+1;write(month3:3);
t:=t+1;
until t=7; writeln;
until p=3; p:=0;
repeat p:=p+1; {输出三个月天数的5,6}
begin t:=0 ;
repeat if month1=monthday(year,x) then write( :3)
else begin month1:=month1+1; write(month1:3); end;
t:=t+1;
until (t=7) end;
begin t:=0;
repeat if month2=monthday(year,x+1) then write( :3)
else begin month2:=month2+1;write(month2:3); end;
t:=t+1;
until (t=7)
end;

begin t:=0;
repeat if month3=monthday(year,x+2) then write( :3)
else begin month3:=month3+1; write(month3:3); end;
t:=t+1;
until (t=7)
end; writeln;
until p=2;
END;
BEGIN {main program}
readln(year);
writeln( 一月 二月 三月);

weekout; day(1);
writeln( 四月 五月 六月);
weekout; day(4);

writeln( 七月 八月 九月);
weekout; day(7);
writeln( 十月 十一月 十二月);
weekout; day(10);
END.
{这是my friend 替我发送的! lionman }


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台