1930:今年的第几天?分数: 10
标签
题目描述
输入年、月、日,计算该天是本年的第几天。
输入格式
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
输出
输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表Input中的年、月、日对应本年的第几天。
样例输入
2012 12 21
2013 1 5
样例输出
356
5
提示[+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
#include<stdio.h>
int mouth(int y,int m){
int day;
switch(m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
case 2:
if((y%100!=0&&y%4==0)||(y%400)==0)//把||变成了&& ,以及把后面的==0忘记了
day=29;
else
day=28;
break;
default:
day=0;
}
return day;
}
int main(){
int Y,M,D,day=0,i,t;
while(scanf("%d%d%d",&Y,&M,&D)!=EOF){
t=M;
for(i=1;i<=M;i++){
day+=mouth(Y,t-1);
t--;
}
printf("%d\n",day+D);
day=0;
}
}