九度oj 题目1070:今年的第几天?
题目1070:今年的第几天?
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:6832
解决:3779
- 题目描述:
-
输入年、月、日,计算该天是本年的第几天。
- 输入:
-
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
- 输出:
-
输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表Input中的年、月、日对应本年的第几天。
- 样例输入:
-
1990 9 20 2000 5 1
- 样例输出:
-
263 122
1 #include <cstdio> 2 using namespace std; 3 int c[13] = {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366}; 4 5 int IsLeapYear(int a){ 6 if((a % 4 == 0 && a % 100 != 0) || (a % 400 == 0)) 7 return 0; 8 else 9 return -1; 10 } 11 12 int main(){ 13 int y, m, d; 14 while(scanf("%d %d %d", &y, &m, &d) != EOF){ 15 if(m < 3) 16 printf("%d\n", c[m - 1] + d); 17 else 18 printf("%d\n", c[m - 1] + IsLeapYear(y) + d); 19 } 20 return 0; 21 }
越努力,越幸运