、电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年的所有月份日期,对应的电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 06:12:35
![、电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年的所有月份日期,对应的电子万年历:用C语言设计一个年历系统,功能要求:(1)输入任一年将显示出该年](/uploads/image/z/6996497-41-7.jpg?t=%E3%80%81%E7%94%B5%E5%AD%90%E4%B8%87%E5%B9%B4%E5%8E%86%EF%BC%9A%E7%94%A8C%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E5%B9%B4%E5%8E%86%E7%B3%BB%E7%BB%9F%2C%E5%8A%9F%E8%83%BD%E8%A6%81%E6%B1%82%EF%BC%9A%EF%BC%881%EF%BC%89%E8%BE%93%E5%85%A5%E4%BB%BB%E4%B8%80%E5%B9%B4%E5%B0%86%E6%98%BE%E7%A4%BA%E5%87%BA%E8%AF%A5%E5%B9%B4%E7%9A%84%E6%89%80%E6%9C%89%E6%9C%88%E4%BB%BD%E6%97%A5%E6%9C%9F%2C%E5%AF%B9%E5%BA%94%E7%9A%84%E7%94%B5%E5%AD%90%E4%B8%87%E5%B9%B4%E5%8E%86%EF%BC%9A%E7%94%A8C%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E5%B9%B4%E5%8E%86%E7%B3%BB%E7%BB%9F%2C%E5%8A%9F%E8%83%BD%E8%A6%81%E6%B1%82%EF%BC%9A%EF%BC%881%EF%BC%89%E8%BE%93%E5%85%A5%E4%BB%BB%E4%B8%80%E5%B9%B4%E5%B0%86%E6%98%BE%E7%A4%BA%E5%87%BA%E8%AF%A5%E5%B9%B4)
、电子万年历:用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;
}