华为机试_HJ73 计算日期到天数转换【简单】

目录

描述

输入描述:

输出描述:

解题过程

提交代码

收藏点


描述

根据输入的日期,计算是这一年的第几天。

保证年份为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;
}

收藏点

判断闰年的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值