8 求第几天
作者: Turbo时间限制: 1S章节: 循环
问题描述 :
按年、月、日的顺序读入一个日期,输出该日期是这一年中的第几天。
输入说明 :
输入数据为三个正整数y 、m、d,分别表示年、月、日,整数之间以空格分隔,在行首和行尾没有多余的空格。
输出说明 :
输出一个整数,表示输入的日期是这一年中的第几天,在行首和行尾没有多余的空格。
输入范例 :
2000 12 31
输出范例 :
366
#include <stdio.h>
int leap(int year,int month)
{
int days;
if(year%4==0 && year%100!=0 || year%400==0)//闰年
{
if(month==2)
return 29;
}
else
{
if(month==2)
return 28;
}
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
return 31;
else return 30;
}
int main()
{
int y,m,d;
int i,sum;
while( scanf("%d %d %d",&y,&m,&d) != EOF )
{
sum=0;
if(m==1)
sum=d;
else
{
for(i=1;i<m;i++)
sum+=leap(y,i);
sum+=d;
}
printf("%d\n",sum);
}
return 0;
}