问题 1850: 判断第几天
/*
2020.2.16
给定一个日期,输出这个日期是该年的第几天
*/
//判断天数
//判断闰年 确定2月天数 闰年29天
//闰年:能被400整除 或 能被4整除不能被100整除
//常识哈,每月的天数不是都一样的
#include<stdio.h>
int main(){
int y,m,d;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //每月的天数
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31}; //闰年 两个数组只有2月不一样
while(~scanf("%d/%d/%d",&y,&m,&d)){
int sum=0;
if(y%(y%100?4:400)?0:1){ //判断闰年的方法 还可以用 if(year%400==0||(year%4==0&&year%100!=0))
for(int i=0;i<m-1;i++){ //总天数 = 前几个月天数和 + 当月的天数
sum += b[i];
}
sum += d;
}
else{ //这是不是闰年的天数
for(int j=0;j<m-1;j++){
sum += a[j];
}
sum += d;
}
printf("%d\n",sum);
}
return 0;
}