【HDOJ】2133 What day is it
2014-04-24 22:31
302 查看
需要注意数据有效性。
#include <stdio.h> #define isLeapYear(y) (y%4==0&&y%100!=0)||(y%400==0) int nums[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}}; char buf[7][20] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; int main() { int i, j, year, month, day, total; while (scanf("%d %d %d", &year, &month, &day) != EOF) { total = day; j = isLeapYear(year); if (month==0 || day==0) { printf("illegal\n"); continue; } for (i=1; i<month; ++i) total += nums[j][i]; if (month == 2) { if (!j && day>28) { printf("illegal\n"); continue; } if (j && day>29) { printf("illegal\n"); continue; } } if ((month==4||month==6||month==9||month==11) && day>30) { printf("illegal\n"); continue; } for (i=1; i<year; ++i) { if (isLeapYear(i)) total += 366; else total += 365; } i = total % 7; printf("%s\n", buf[i]); } return 0; }
相关文章推荐
- hdoj 2133 What day is it
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
- HDOJ 2133 What day is it
- hdu 2133 What day is it
- HDU 2133 What day is it(给定日期求星期几)
- HDU 2133 What day is it
- hdu 2133 What day is it
- HDU 2133 What day is it
- 杭电2133What day is it
- HDU:2133 What day is it
- hdu 2133 What day is it
- HDU 2133 - What day is it
- hdu 2133 what day it is?
- What day is it 2133
- 当前日期日期hdu 2133 What day is it-java教程
- 杭电Hdu 2133 What day is it
- HDU 2133 What day is it
- HDU 2133 What day is it(日期转换)
- hdu 2133 What day is it(蔡勒公式)