工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 4431|回复: 3

再接再厉 万年历

[复制链接]
发表于 2006-4-14 22:32 | 显示全部楼层 |阅读模式
万年历:根据用户输入的年份输出该年的日历。例如:2000年1月1日为星期六,输入任一年的年份后,打印该年的年历。


改了一下标题,把再接再厉改为 再接再厉 万年历

by hjack版主


[ 本帖最后由 hjack 于 2006-4-14 23:16 编辑 ]
发表于 2006-4-14 22:44 | 显示全部楼层
回复

使用道具 举报

发表于 2006-4-16 00:36 | 显示全部楼层
楼主从哪里找来这些题目的啊
回复

使用道具 举报

发表于 2006-4-19 22:16 | 显示全部楼层

万年历(for java)

万年历核心代码:(这个是老师布置的作业,缩小了要求,只能看2000年之后的,之前的改改就可以了)
class Date
{
boolean leap=false;
int leap_year[]={31,29,31,30,31,30,31,31,30,31,30,31};
int not_leap_year[]={31,28,31,30,31,30,31,31,30,31,30,31};
int week=6;
boolean leap_year(int year)
{
if((year%4==0 && year%100!=0)||year%400==0)return true;
else return false;
}
/////////////////////////////
void count_first_day_week(int year,int month)
{
int i,j;
int sum_day=0;
week=6;
for(i=2000;i<year;i++)
{
if(leap_year(i))
{
week=(week+366)%7;
}
else week=(week+365)%7;
}
if(leap_year(year))
{
for(j=1;j<month;j++)
{sum_day=sum_day+leap_year[j-1];}
week=(week+sum_day)%7;
}
else{
for(j=1;j<month;j++)
{sum_day=sum_day+not_leap_year[j-1];}
week=(week+sum_day)%7;
   }
}
void print_format(int year,int month)
{  
  int i,j;  
  String s="";
int days;
if(leap_year(year))days=leap_year[month-1];
else days=not_leap_year[month-1];
  System.out.println("&Egrave;&Otilde;   &Ograve;&raquo;   &para;&thorn;   &Egrave;&yacute;   &Euml;&Auml;   &Icirc;&aring;   &Aacute;ù   ");  
for(i=0;i<week%7;i++)
   s=s+"     ";   
for(j=1;j<=days;j++)
{
if(j>0&&j<10){       
s=s+j+"    ";
}
else s=s+j+"   ";
if(s.length()%35==0)
{
System.out.println(s);
s="";
        }
}       
System.out.println(s);
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-5-17 02:40

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表