第几天?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 175980 Accepted Submission(s): 62345
Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
Author
lcy
//hdu 2005 第几天
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>
using namespace std;
bool fun(int year){
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
return true;
}
return false;
}
int main(){
int mon1[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int mon2[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int year, month, day;
while(scanf("%d/%d/%d", &year, &month, &day) != EOF){
int ans = 0;
if(fun(year)){
for(int i = 0; i < month-1; i++){
ans += mon2[i];
}
ans += day;
}
else{
for(int i = 0; i < month-1; i++){
ans += mon1[i];
}
ans += day;
}
printf("%d\n", ans);
}
return 0;
}