第几天

2020-01-17  本文已影响0人  jie202

第几天?

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 251279    Accepted Submission(s): 86778

Problem Description

给定一个日期,输出这个日期是该年的第几天。

Input

输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output

对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input

1985/1/20

2006/3/12

Sample Output

20

71

#include<iostream>

#include<cstdio>

using namespace std;

int main()

{

int year;

int month;

int day;

char c1,c2;

while(scanf("%d%c%d%c%d",&year,&c1,&month,&c2,&day) != EOF)

{

bool flag = true;

if((year%4 == 0 && year%100 != 0) || year %400 ==0)

{

flag = false;

}

int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};

int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};

if(flag)

{

int sum=0;

for(int i=0;i<month-1;i++)

{

sum+=a[i];

}

sum+=day;

cout<<sum<<endl;

}

else

{

int sum=0;

for(int i=0;i<month-1;i++)

{

sum+=b[i];

}

sum+=day;

cout<<sum<<endl;

}

}

return 0;

}

易错点:

1.判断闰年 if((year%4 == 0 && year%100 != 0) || year %400 ==0)

2.输12个月的天数时需要注意

上一篇下一篇

猜你喜欢

热点阅读