问题及代码
Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
2000-01-01
Sample Output
1
/*烟台大学计算机学院 2016
作者: 马春澎
完成日期:2016年12月16日 */
#include <stdio.h>
#include <stdlib.h>
int main()
{
int s[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int n=0,i,y,d,m;
scanf("%d-%d-%d",&y,&m,&d);
for(i=0; i<m; i++)
{
n=n+s[i];
}
n=n+d;
if(((y%4!=0&&y%100==0)||(y%400==0))&&(m>=2))
n++;
printf("%d",n);
return 0;
}
学习心得
第一次做时还没学数组,这次是学了数组又回来做的,发现用数组还是很简单的。注意闰年的判断。