问题描述
给定一个日期,输出这个日期是该年的第几天。
输入
输入数据有多组,每组占一行,数据格式为YYYY / MM / DD组成,具体参见sample input,另外,可以向你确保所有的输入数据是合法的。
产量
对于每组输入数据,输出一行,表示该日期是该年的第几天。
示例输入
1985/1/20
2006/3/12
示例输出
20
71
AC代码:
//
// main.cpp
// 2005
//
// Created by showlo on 2018/4/12.
// Copyright © 2018年 showlo. All rights reserved.
//
#include <stdio.h>
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int judge(int y)
{
if ((y%4==0&&y%100!=0)||(y%400==0))
return 1;
return 0;
}
int main() {
int y,m,d,sum;
while (scanf("%d/%d/%d",&y,&m,&d)!=EOF) {
sum=0;
a[1]=28;
if (judge(y))
a[1]=29;
// printf("%d\n",a[1]);
if (m==1)
sum=d;
else if (m==2)
sum=a[0]+d;
else if (m>2){
for (int i=0; i<m-1; i++)
sum+=a[i];
sum+=d;
}
printf("%d\n",sum);
}
return 0;
}