请编写C语言函数get_weekday,该函数用于计算某一天是星期几。函数接受三个整形参数,分别表示年、月、日,并返回一个整数标识星期几,用0,1-6分别表示星期日、星期一到星期6.

#include<stdio.h>

int get_weekday(int year,int month,int day){
    int RUN_YEAR = 366;
    int NON_RUN_YEAR = 365;
    int sumDay = 0;
    //计算年转化成天
    for (int i = 1; i < year; ++i)
    {
        //是否是润年
        if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0){
            sumDay += RUN_YEAR;
        }else{
            sumDay += NON_RUN_YEAR;
        }
    }
    //计算月转化成天
    for(int j = 1; j < month ; j++){
        if(j == 1 || j == 3 || j == 5 || j == 7 || j == 8 || j == 10 ){
            sumDay += 31;
        }else if( j == 2 ){
            if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                sumDay += 29;
            }else{
                sumDay += 28;
            }
        }else{
            sumDay += 30;
        }
    }
    //计算天
    sumDay+= day ;
    printf("%d\n", sumDay);
    return sumDay%7;
}

int main(int argc, char const *argv[])
{
    printf("%d\n", get_weekday(2019,12,12));
    
    return 0;
}

计算某一天是星期几(C语言,可运行)相关推荐

  1. c语言根据日期算星期几入门,c语言详解  蔡勒(Zeller)公式计算某一天是星期几  极其方便...

    /* 蔡勒(Zeller)公式计算某一天是星期几 w:星期:c:(年份前两位):y:年(年份后两位):m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月 来计 ...

  2. 星期几在c语言什么变量,计算任何一天是星期几的C语言源代码.

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们知道,公历的平年是365天,闰年是366天.置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰.因此,像1600. ...

  3. 计算任何一天是星期几的几种算法

    计算任何一天是星期几的几种算法 一:常用公式 W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这一天在这一年中的累积天数,也 ...

  4. 怎么求星期几的后几天C语言,计算任何一天是星期几的C语言源代码.

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们知道,公历的平年是365天,闰年是366天.置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰.因此,像1600. ...

  5. C语言中如何求一天是星期几,计算任何一天是星期几的C语言源代码.

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们知道,公历的平年是365天,闰年是366天.置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰.因此,像1600. ...

  6. 计算星期c语言编码,[转载]计算任何一天是星期几的C语言源代码.

    [转载]计算任何一天是星期几的C语言源代码. #include int main() { int day,mn,yr,i,days=0,s,k; int mont[13]={0,31,28,31,30 ...

  7. c语言计算n天之后为星期几,计算任何一天是星期几的C语言源代码.

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们知道,公历的平年是365天,闰年是366天.置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰.因此,像1600. ...

  8. c语言算星期,计算任何一天是星期几的C语言源代码.

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们知道,公历的平年是365天,闰年是366天.置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰.因此,像1600. ...

  9. 用c语言计算星期,计算任何一天是星期几的C语言源代码.

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们知道,公历的平年是365天,闰年是366天.置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰.因此,像1600. ...

  10. c语言编程实现今日星期几,计算任何一天是星期几的C语言源代码.

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们知道,公历的平年是365天,闰年是366天.置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰.因此,像1600. ...

最新文章

  1. 清华成立视觉智能研究中心,邓志东任中心主任
  2. 漫话:如何给女朋友解释什么是熔断?
  3. flash绘图API :flash player11新增的绘图API方法--cubicCurveTo
  4. linux gdb 运行的程序,GDB(十)--调试正在运行的进程
  5. Unity3D协程(转)
  6. 跟我一起学编程—《Scratch编程》第21课:打地鼠
  7. UncaughtExceptionHandler:java未捕获的异常/错误默认处理方式
  8. 高并发高性能服务器是如何实现的
  9. 深度学习——行数据的分拆及如何“喂”给训练过程
  10. C++类设计的一些心得
  11. Hi3519V101/Hi3516AV200 (之)SDK 安装以及升级使用说明
  12. String字符串按多个字符Split方法
  13. 缺少网卡固件导致的网络服务异常,Can‘t load firmware file bnx2x/bnx2x-e2-7.13.15.0.fw
  14. LINUX下载并编译sqlite
  15. Python——jieba优秀的中文分词库(基础知识+实例)
  16. 第一次网络渗透实验报告
  17. 《Redis视频教程》(p9)
  18. 学会局域网的锐捷破解共享
  19. inter uhd graphics630显卡驱动_极为全面的!从零开始的!小白都能看懂的!硬件科普#4 显卡选择篇...
  20. 怎么打开ofd文件的三种方法

热门文章

  1. 微信QQ邮箱插件,附件Excel 无法打开,或者打开乱码问题
  2. 全国首款二级分销小程序上线
  3. html椭圆的写法,4.8 把圆变换为椭圆 - HTML5 Canvas 实战
  4. FIL WORLD开启算力众筹新篇章,与世界一起助力FIL
  5. 鸿蒙中国壁纸高清全面屏,华为P50pro最新确认:麒麟1020+立体全面屏+鸿蒙系统,这才是华为...
  6. python程序员真实收入曝光_行!看到抖音上Python程序员晒得工资条,我沉默了.........
  7. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:ESP8266 + MQ3酒精传感器 + webserver(局域网内曲线变化图)
  8. Andromeda 源码解析 (同步获取服务)
  9. Makefile wildcard
  10. 路由器不同网段虚拟服务器设置,局域网中不同网段互访?静态路由表必须要学会设置...