首页 > 其他分享 >用c语言写一个计算自己活了多少天的代码

用c语言写一个计算自己活了多少天的代码

时间:2023-07-12 20:22:46浏览次数:36  
标签:语言 int 31 30 Leap 计算 year year% 代码

#include<stdio.h>

//初始化数组保存天数
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//普通年
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};//闰年

//判断闰年
int Leap(int year)
{
    if((year%4==0&&year%100!=0)||(year%400==0))
    {
        return 1;
    }
    return 0;
}   

//计算日期到年初的天数
int Day_Start(int year,int mon,int day)
{   
    int sum=0;
    if(Leap(year)==1)
    {
        for(int i=0;i<mon-1;i++)
        {
            sum+=b[i];
        }
        return sum+day;
    }
    else
    {
        for(int i=0;i<mon-1;i++)
        {
            sum+=a[i];
        }
        return sum+day;
    }
}

//计算日期到年末的天数
int Day_Over(int year,int mon,int day)
{
    int sum=0;
    if(Leap(year)==1)
    {
        for(int i=mon;i<12;i++)
        {
            sum+=b[i];
        }
        return sum+b[mon-1]-day;
    }
    else
    {
        for(int i=mon;i<12;i++)
        {
            sum+=a[i];
        }
        return sum+a[mon-1]-day;
    }
}

//计算中间的总年天数
int Day_Sum(int year_1,int year_2)
{
    int sum;
    for(int i=year_1+1;i<year_2;i++)
    {
        if(Leap(i)==1)
        {
            sum+=366;
        }
        else
        {
            sum+=365;
        }
    }
    return sum;
}

int main()
{
    int y_1,m_1,d_1;
    int y_2,m_2,d_2;
    scanf("%d%d%d",&y_1,&m_1,&d_1);
    scanf("%d%d%d",&y_2,&m_2,&d_2);
    int sum=0,a,b,c;
    if(y_1!=y_2)
    {
        a=Day_Start(y_2,m_2,d_2);
        b=Day_Over(y_1,m_1,d_1);
        c=Day_Sum(y_1,y_2);
        sum=a+b+c;
    }
    else
    {
        a=Day_Over(y_2,m_2,d_2);
        b=Day_Over(y_1,m_1,d_1);
        sum=b-a;
    }
    printf("%d\n",sum);
    return 0;
}

标签:语言,int,31,30,Leap,计算,year,year%,代码
From: https://www.cnblogs.com/lzzcforever/p/17548730.html

相关文章

  • C语言(四)
    目录9.结构体9.1引入9.2语法9.3位域与柔性数组9.3.1位域9.3.2柔性数组10.联合体11.枚举12.typedef关键字12.1typedef和struct12.2typedef和函数指针12.3typedef与#define的区别13.C程序组成13.1.c文件的组成13.1.1头文件包含13.1.2宏定义13.1.3声明13.1.4条件编译13.2.h文......
  • C语言库函数
    C语言库函数1.stdio库1.1printf函数printf格式化输出符:inta=3;floatb=3.14;doublec=5.2;chars1[6]={'h','e','l','l','o','\0'};char*s2="world";printf("%d%f%f\n",......
  • 计算机网络助教总结
    一、助教工作的具体职责和任务协助老师完成实验,给同学们排错协助老师进行课程改革进行课程作业设计,发布作业,批改作业以及平时成绩登记协助组织第二课堂活动,进行相关资料的收集和整理改革:协助老师进行短视频制作取消线下作业讲评环节,改为线上答疑并落实相关作业订正。将正......
  • 有程序员能评价一下竞赛人员的代码吗
    #include<bits/stdc++.h>//一道线段树题目,还用到了离散化#defineintlonglongusingnamespacestd;constintM=998244353,N=2e5+10;structsegmenttree{intl,r,x,lazy_jia,lazy_cheng,sum;}a[N*4];structnode{intl,r,size;}ss[N];in......
  • 微信小游戏代码包侵权解决办法
    微信过审机制介绍1、大致步骤就是提审->机器审核->人工审核;2、机器审核部分:审核代码部分,资源相关部分人工审核部分:审核UI相关,标题是否侵权,玩法是否符合类别3、审核时间:正常的账号在100分的情况下审核时间都会在2个小时内。审核细节1、微信目前机审大部分会从代码......
  • DELPHI跨平台(语言)REST中间件
    DELPHI跨平台(语言)REST中间件免费:只需要新增自己的业务插件即可。开发工具:DELPHI11.3三方控件:UNIDAC操作系统:windows,linux64插件架构:主EXE、公共包不开源,插件开源通信:HTTP,WEBSOCKET ......
  • 树莓派人脸识别系统-计算机毕业设计源码+LW文档
    中文摘要计算机技术的发展推动了经济的发展,如今几乎所有的企业都离不开计算机软件,物业单位更是如此。在信息技术不断完善下,物业单位作为人们日常生活不可或缺的组成部分,发挥着重要的作用。然而,随着小区人员的增加,小区门禁管理繁琐,效率低下、进出等待时间长、满意度不高,阻碍了小区......
  • async-await Rust: 200 多行代码实现一个极简 runtime
    WhatIcannotcreate,IdonotunderstandRust中的runtime到底是咋回事,为了彻底搞懂它,我在尽量不借助第三方crate的情况下实现了一个玩具runtime,之所以说是玩具,因为它没有复杂的调度算法(只有一个全局taskqueue)代码除了mpmc(multi-producer,multi-consumer......
  • R语言中数据输出保存为EPS格式
     001、setEPS()postscript("test001.eps")##输出为EPS矢量图格式plot(1:100,main="justatest")dev.off()    。 ......
  • 深入理解计算机系统 笔记——第二章
    第二章信息的表示和处理三种重要的数字表示无符号(unsigned),基于传统的二进制表示法,表示大于等于零的数字补码(two'scomplement),表示有符号整数的最常见的方法浮点数(floatingpoint),表示实数的科学计数法的以2为基数的版本整数的表示虽然只能编码一个相对较小的数值范围,但是......