题解 | #计算日期到天数转换#
计算日期到天数转换
https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded
解题思路
这题首先要判断年份是不是闰年,因为闰年的2月多出一天
根据上面规则可以列一个表达式如代码中第10行
我是设置了一个数组分别存对应月份包含的天数,闰年和不是闰年分开。
然后天数是目标月份-1前的所有天数相加再加这个月的天数
如1982 3 4
判断出不是闰年
天数等于1-2天数之和31+28
然后再加上4
得到63天
#include <stdio.h>
int main() {
int y=0,m=0,d=0;
int i=0;
int day=0;
int lib[12][2]={{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},
{31,31},{30,30},{31,31},{30,30},{31,31}};
scanf("%d %d %d",&y,&m,&d);
if((y%100!=0 && y%4==0)||(y%100==0 && y%400==0))//判断是不是闰年
{
for(i=0;i<m-1;i++)
{
day+=lib[i][1];
}
day+=d;
}
else
{
for(i=0;i<m-1;i++)
{
day+=lib[i][0];
}
day+=d;
}
printf("%d",day);
return 0;
}
查看19道真题和解析

