题目描述:
输入 年月日 输出 多少天
代码实现:
int main(){
/*
* 闰年 year%400 ==0 || year%100 != 0 && year%4 == 0
* 月有多少天 数组解决 空间换时间
* 闰年 有366天 因为二月有29
*/
int year,mon,day;
int mday[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int totalday[13] = {0};
for(int mon = 2;mon <=12;++mon){
//到mon月1日的天数 = 到mon - 1月1日的天数 + 第mon-1月的天数
totalday[mon] = totalday[mon-1]+mday[mon-1];
}
while(scanf("%d%d%d",&year,&mon,&day) != EOF ){
bool isLeap = year%400 ==0 || year%100!=0&&year%4 == 0;
if(isLeap==true && mon >= 3){
printf("%d\n",totalday[mon]+day+1);
}else{
printf("%d\n",totalday[mon]+day);
}
}
}
2024 03 08
68