、电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年的所有月份日期,对应的电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 02:47:53
、电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年的所有月份日期,对应的电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年

、电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年的所有月份日期,对应的电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年
、电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年的所有月份日期,对应的
电子万年历:用C语言设计一个年历系统,功能要求:
(1)输入任一年将显示出该年的所有月份日期,对应的星期
(2)注意闰年情况
其显示格式要求如下:
Input the year:2004
The calendar of the year 2004.
Januray 1 February 2
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
1 2 3 1 2 3 4 5 6 7
4 5 6 7 8 9 10 8 9 10 11 12 13 14
11 12 13 14 15 16 17 15 16 17 18 19 20 21
18 19 20 21 22 23 24 22 23 24 25 26 27 28
25 26 27 28 29 30 31 29

、电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年的所有月份日期,对应的电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年
/*
1、闰年的算法:
如果某年能被4整除但不能被100整除,
或者能被400整除,
则该年是闰年.
用表达式表示就是
(year %4 == 0 && year%100 != 0) || (year%400 == 0)
2、计算某一天是星期几:
已知1900年的1月1号为星期一,
然后就可以用某一天和1900年的1月1号相差的天数对7取余来求星期,
本题是用的公元1年的1月1号作为基准
*/
#include
#include
#include
int IsLeapYear(int); //函数定义
void main()
{
int i;
int day;
int year;
int temp;
int temp_i;
long int Year_days = 0;
int Year_Start = 1;
int Per_Year_Days;
int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31,29};
printf("Please enter the year:");
scanf("%d",&year); //输入年份
while(Year_Start < year) //从公元1年开始执行while循环,该年的一月一号为星期一
{
if( IsLeapYear( Year_Start ) )
Per_Year_Days = 366; //如果是闰年,则一年有366天
else
Per_Year_Days = 365; //如果不是闰年,则一年有365天
Year_days = Year_days + Per_Year_Days; //Year_days为从公元1年到输入年份的前一年的天数的总和
Year_Start++;
}
for( temp = 1; temp = 10 )
printf("%d\t",day); //打印天数+空格
else
printf("%d\t",day);
Year_days++;
day++;
}
else //如果不满足"输入的年份是闰年,并且月份为2"
while (day 1 )
if( Year_days % 7 == 0 )
printf("\n");
if( day >=10 )
printf("%d\t",day);
else
printf("%d\t",day);
Year_days++;
day++;
}
printf("\n");
if( getch() == 'q' ) //如果输入为q,则退出程序
exit(0);
}
getch(); //每按一次键,打印一个月份
}
int IsLeapYear( int year )
{
//判断是否是闰年,是则返回1,否则返回0
if ((year %4 == 0) && (year % 100 != 0) ||
(year % 400 == 0) )
return 1;
else
return 0;
}