//⑴程序功能描述: 输入任意一个年份和月份,按以下格式输出该月份的公历日历。
// 要求由程序计算出来该月份的1日是星期几,并用循环控制打印.
// 打印样例如下:
// 2012年日历
// ========================================
// 9月
// ----------------------------------------
// 日 一 二 三 四 五 六
// 1
// 2 3 4 5 6 7 8
// 9 10 11 12 13 14 15
// 16 17 18 19 20 21 22
// 23 24 25 26 27 28 29
// 30
// ----------------------------------------
//⑵程序版本号: 1.0 创作日期: 2012.5.11
//⑶作者信息描述: 班级:国经贸1105 姓名:陈君君 学号:1111141169
//⑷问题分析描述: 1.判断某一年是否为闰年的条件是:a.年份能否被4整除,但不能被100整除;b.年份能被400整除;
// 2.公元1年到year年共有(y-1)年,其中天数为:(y-1)*365+闰年的个数.
amend
rice//⑸算法设计描述:1.根据year,计算2月份的天数;
// 2.计算year年1月1日到1年1月1日中间闰年的个数;
// 3.计算year年1月1日到1年1月1日的天数,存入变量d1;
// 4.计算year年month月1日到year年1月1日的天数,存入变量d2;
// 5.计算year年month月1日是星期几,存入变量weekday;
// 6.计算year年month月的天数,存入变量d3.
//⑹关键语句注释说明:1.recount为year年1月1日到1年1月1日中间闰年的个数;
// 2.d1为year年1月1日到1年1月1日的天数;
positively
// 3.d2为year年month月1日到year年1月1日的天数;
// 4.weekday为year年month月1日是星期几;
// 5.d3为year年month月的天数.
//⑺调试运行过程中出现的错误及改正方法: “recount”错写为“rcount”,应写为“recount”
//⑻输入数据样例:2012 9
// 输出数据样例:
// 2012年日历
// ========================================
// 9月
// ----------------------------------------
// 日 一 二 三 四 五 六
// 1
// 2 3 4 5 6 7 8
// 9 10 11 12 13 14 15
// 16 17 18 19 20 21 22
// 23 24 25 26 27 28 29
// 30
// ----------------------------------------
#include <stdio.h>
void main()
{
int y,m,i,d1,d2,d3,w,n=0,recount=0;
int t[]={31,28,31,30,31,30,31,31,30,31,30,31};
//输入year年和month月
printf("请输入年和月:");
scanf("%d%d",&y,&m);
//根据year,计算2月份的天数
if(y%4==0&&y%100!=0||y%400==0)
t[1]=29;
//计算year年1月1日到1年1月1日中间闰年的天数
recount=(y-1)/4-(y-1)/100+(y-1)/400;
//计算year年1月1日到1年1月1日的天数,存入变量d1
d1=(y-1)*365+recount;
//计算year年month月1日到year年1月1日的天数,存入变量d2
d2=0;qstr
警语
for(i=0;i<m-1;i++)
d2+=t[i];
百度文库 - 让每个人平等地提升自我//计算year年month月1日是星期几,存入变量weekday
manifestmen
w=(d1+d2+1)%7;
//计算year年month月的天数,存入变量d3
d3=t[m-1];
//输出“表头”
pets2口语
printf("%23d年日历\n",y);
printf("===================================================\n");
printf("%23d月\n",m);
printf("---------------------------------------------------\n");
printf("日\t一\t二\t三\t四\t五\t六\n");
damon什么意思苹果发布会2019秋季//输出1日前的空格
printf("\t");
百度英语翻译//输出所有日期,7个一行
for(i=1;i<=d3;i++)
{
printf("%d\t",i);
if((i+w)%7==0)
printf("\n");
}
printf("\n--------------------------------------------------\n");
}