题目描述:
给定一个日期,输出这个日期是该年的第几天。
输入描述:
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
输出描述:
对于每组输入数据,输出一行,表示该日期是该年的第几天。
以下为代码:
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,c,t,i, 5 //平年每个月的天数,将第一的数设置为0方便计算 6 m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}, 7 //闰年每个月的天数 8 n[13]={0,31,29,31,30,31,30,31,31,30,31,30,31}; 9 while(scanf("%d/%d/%d",&a,&b,&c)!=EOF) 10 { 11 t = 0; 12 if(a%4!=0 || (a%100==0 && a%400!=0)) 13 { 14 for(i=0;i<b;i++) 15 t+=m[i]; 16 } 17 else 18 { 19 for(i=0;i<b;i++) 20 t+=n[i]; 21 } 22 printf("%d\n",t+c); 23 24 } 25 return 0; 26 }
测试数据: