九度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 }

 

 
posted @ 2017-03-01 10:39  琴影  阅读(285)  评论(0编辑  收藏  举报