第几天?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 181543 Accepted Submission(s): 64444
Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
2006/3/12
Sample Output
20
71
71
#include<string.h>
#include<cstdio>
#include<stdlib.h>
using namespace std;
int main()
{
char s[];
int time[];
char * p; while(scanf("%s",s)!=EOF)
{
int result = ;
int count = ;
int month[] = {,,,,,,,,,,,,};
p = strtok(s,"/");//s为要拆分的字符串,必须是char *类型,""里是分隔符,可以" */#"等
while(p != NULL)//拆分字符串
{
time[count++] = atoi(p);//将字符串转化为整型
p = strtok(NULL,"/");
}
if(time[]% == || ( time[]%== && time[]%!= ))
{
month[] = ;
}
for(int i = ;i < time[];++i)
{
result += month[i];
}
result += time[];
printf("%d\n",result); }
return ;
}