C语言输入年份,输出一年12个月的日历
实例说明:
输入年份,输出一年12个月的日历
实例代码:
#include <stdio.h> #include <stdlib.h> int get_lst_weekday(int y) { int d; d = (((y - 1) * 365) + ((y - 1) / 4) - ((y - 1) / 100) + ((y) / 400) + 1) % 7; return d - 1; } int main() { system("color 3"); int year, month, day, dayInMonth, weekDay = 0, startingDay; printf("Enter your desired year:"); scanf("%d", &year); char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"}; int monthDay[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //润年的2月份为29天 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { monthDay[1] = 29; } startingDay = get_lst_weekday(year); for (month = 0; month < 12; month++) { dayInMonth = monthDay[month]; printf("\n\n---------------%s-------------------\n", months[month]); printf("\n Mon Tue Wed Thurs Fri Sat Sun\n"); for (weekDay = 0; weekDay < startingDay; weekDay++) { printf(" "); } for (day = 1; day <= dayInMonth; day++) { printf("%5d", day); if (++weekDay > 6) { printf("\n"); weekDay = 0; } startingDay = weekDay; } } system("pause"); return 0; }
上一篇:C语言输入时间,生成电子时钟