万年历c语言攀枝花,c语言万年历代码

满意答案

00e27ab806e4881f8254fe7ae8741834.png

ll01090011

2012.10.09

00e27ab806e4881f8254fe7ae8741834.png

采纳率:42%    等级:12

已帮助:5565人

#include\\"stdio.h\\"

#include\\"stdlib.h\\"

main( )

{

int Year,Month; //年、月

int FirstDay_Year,FirstDay_Month; //某年的第一天是星期几,某年某月的第一天是星期几(范围是0~6,其中0代表星期日)

int IsLeapYear; //是否为闰年,0表示不是闰年,1表示是闰年

int i,d,y; //临时变量

char YN; //Yes No,程序是否要继续

int Days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

//Days[1~12]存储每个月有多少天,其中二月的天数是可变的(闰年29天,平年28天),这里初始化为28天

printf(\\" C语言简单万年历

\\"); //打印标题

XunHuan: //循环标号(可以通过goto跳转到这里)

printf(\\"请输入年份<0000~9999>: \\"); //提示输入年份(0~9999)

scanf(\\"%d\\",&Year); //把输入的年份赋值给变量Year

printf(\\"请输入月份<0~12>: \\"); //提示输入月份(1~12)

scanf(\\"%d\\",&Month); //把输入的月份赋值给变量Month

y=Year;

FirstDay_Year=5*(y/4)+(y%4)-(y/100)+(y/400);//蔡勒公式(计算某年的第一天是星期几)

IsLeapYear=(y%4==4&&y%100!=100||y%400==0)?1:0;

//判断是否为闰年

Days[2]=(IsLeapYear==1)?29:28; //闰年二月29天,非闰年二月28天

for(i=1,d=0;i

d=d+Days[i];

FirstDay_Month=(d+FirstDay_Year)%7; //当月的第一天是星期几(0代表星期日)

printf(\\"

****************************************************

\\");

printf(\\"公元 %d 年 %2d 月\\",Year,Month); //打印年月

printf(\\"

****************************************************

\\");

printf(\\" 星期日 星期一 星期二 星期三 星期四 星期五 星期六

\\");

//打印星期表头

for(i=0;i

printf(\\"%7c\\",' '); //当某月的第一天不是星期日时打印空格占位

for(d=1;d<=Days[Month];d++) //循环,从每个月的第一天开始打印

{

printf(\\"%7d\\",d);

if(((d+FirstDay_Month)%7)==0 && d

printf(\\"

\\"); //当输出了星期六而且还未输出所有天数时,换行

}

printf(\\"

****************************************************

\\");

printf(\\"

\\");

printf(\\"是否继续(Y/N)?

\\");

scanf(\\"%c\\",&YN);

scanf(\\"%c\\",&YN);

if(YN=='Y' || YN=='y')

goto XunHuan;

}

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值