目录
描述
根据输入的日期,计算是这一年的第几天。
保证年份为4位数且日期合法。
进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(1)\O(1)
输入描述:
输入一行,每行空格分割,分别是年,月,日
输出描述:
输出是这一年的第几天
解题过程
1、判断闰年
笑死连闰年都忘记了,来源百度词条。
2、如何加天数,使用的是数组。
提交代码
#include <stdio.h>
int main() {
int y,m,d,date=0;
int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d %d",&y,&m,&d);
if((y>=10000)||(y<1000)||(m>12)||(m<0)||(d>31)||(d<0))printf("error!");
//判断平闰年
if((y%400==0)||((y%4==0)&&(y%100!=0)))
mon[2]++;
if(mon[m-1]<d)printf("error!");
//计算天数
for(int i=0;i<m-1;i++)
{
date+=mon[i];
}
date+=d;
printf("%d\n",date);
return 0;
}
收藏点
判断闰年的方式。