-
题目描述:
-
输入年、月、日,计算该天是本年的第几天。
-
输入:
-
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
-
输出:
-
输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表Input中的年、月、日对应本年的第几天。
-
样例输入:
-
1990 9 20 2000 5 1
-
样例输出:
-
263 122
-
来源:
题目分析:
一道简单的日期处理题目,和九度OJ 1096类似。
源代码
#include <stdio.h>
#include <stdlib.h>
int leap(int year)
{
if((year%4==0 && year%100!=0) || year%400==0)
return 1;
else
return 0;
}
int main()
{
int month[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}};
int y, m, d;
while(scanf("%d%d%d", &y, &m, &d) != EOF)
{
int sum = 0;
int i;
for(i = 1; i < m; i++)
sum += month[leap(y)][i];
sum += d;
printf("%d\n", sum);
}
//system("pause");
return 0;
}
/**************************************************************
Problem: 1070
User: superlc320
Language: C++
Result: Accepted
Time:10 ms
Memory:1020 kb
****************************************************************/