版权声明: https://blog.csdn.net/t_jeey/article/details/79519022
Problem E: 第几天
Time Limit: 1 Sec Memory Limit: 64 MB
Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
2000-01-01
Sample Output
1
HINT
参考答案:
#include<stdio.h>
int main()
{
int year,month,day;
int c;
scanf("%d-%d-%d",&year,&month,&day);
switch(month)
{
case 1:
c=day;
break;
case 2:
c=31+day;
break;
case 3:
{c=31+day;
break;}
case 4:
c=31*2+day;
break;
case 5:
c=31*2+30+day;
break;
case 6:
c=31*3+30+day;
break;
case 7:
c=31*3+30*2+day;
break;
case 8:
c=31*4+30*2+day;
break;
case 9:
c=31*4+30*3+day;
break;
case 10:
c=31*5+30*3+day;
break;
case 11:
c=31*5+30*4+day;
break;
case 12:
c=31*6+30*4+day;
break;
}
if(month==1||month==2)
printf("%d",c);
else if(year%4==0&&year%100!=0||year%400==0)
printf("%d",c+29);
else
printf("%d",c+28);
return 0;
}
编程软件及学习视频下载:点击打开链接