C语言日记 2024年10月31日

目录

总结:

内容:


总结:

闰年的判断方式:

可以被4除尽的同时不被100除尽,或者可以被400除尽。

if(y%4==0&&y%100!=0||y%400==0)

内容:

这个题我的解法有点简单。

复制代码
1154. 一年中的第几天
简单
给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。

示例 1:

输入:date = "2019-01-09"
输出:9
解释:给定日期是2019年的第九天。
示例 2:

输入:date = "2019-02-10"
输出:41
 

提示:

date.length == 10
date[4] == date[7] == '-',其他的 date[i] 都是数字
date 表示的范围从 1900 年 1 月 1 日至 2019 年 12 月 31 日

我的代码如下,没什么可说的了。

复制代码
int dayOfYear(char* date) {
    //关键在于判断闰年
    int y,m,d;
    int i;
    int t=0;
    int j=0;
    int s=0;
    for(i=0;i<4;i++)
    {
    t*=10;
    t+=(date[i]-'0');
    }
    y=t;
    t=0;
    if(y%4==0&&y%100!=0||y%400==0)
    {
        j=1;
    }
    for(i=5;i<7;i++)
    {
    t*=10;
    t+=(date[i]-'0');  
    }
    m=t;
    t=0;
    for(i=8;i<10;i++)
    {
    t*=10;
    t+=(date[i]-'0');  
    }
    d=t;
    t=0;
    s=d;
    if(m>1)
    {
        switch(m){
            case 2:s+=31;break;
            case 3:s+=59;break;
            case 4:s+=90;break;
            case 5:s+=120;break;
            case 6:s+=151;break;
            case 7:s+=181;break;
            case 8:s+=212;break;
            case 9:s+=243;break;
            case 10:s+=273;break;
            case 11:s+=304;break;
            case 12:s+=334;break;
        }
        if(m>=3&&j)
        {
            s+=1;
        }
    }
    return s;
}
相关推荐
电星托马斯10 小时前
C++中顺序容器vector、list和deque的使用方法
linux·c语言·c++·windows·笔记·学习·程序人生
march_birds16 小时前
FreeRTOS 与 RT-Thread 事件组对比分析
c语言·单片机·算法·系统架构
小麦嵌入式16 小时前
Linux驱动开发实战(十一):GPIO子系统深度解析与RGB LED驱动实践
linux·c语言·驱动开发·stm32·嵌入式硬件·物联网·ubuntu
jelasin17 小时前
LibCoroutine开发手记:细粒度C语言协程库
c语言
篝火悟者17 小时前
自学-C语言-基础-数组、函数、指针、结构体和共同体、文件
c语言·开发语言
神里流~霜灭19 小时前
蓝桥备赛指南(12)· 省赛(构造or枚举)
c语言·数据结构·c++·算法·枚举·蓝桥·构造
双叶83619 小时前
(C语言)单链表(1.0)(单链表教程)(数据结构,指针)
c语言·开发语言·数据结构·算法·游戏
艾妮艾妮20 小时前
C语言常见3种排序
java·c语言·开发语言·c++·算法·c#·排序算法
charlie11451419120 小时前
STM32F103C8T6单片机硬核原理篇:讨论GPIO的基本原理篇章1——只讨论我们的GPIO简单输入和输出
c语言·stm32·单片机·嵌入式硬件·gpio·数据手册
矿渣渣21 小时前
int main(int argc, char **argv)C语言主函数参数解析
c语言·开发语言