c语言编程题:输入一个日期,计算出该日期是星期几?

Posted 新时代键盘上的农民工

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程题:输入一个日期,计算出该日期是星期几?相关的知识,希望对你有一定的参考价值。

c语言编程题:输入一个日期,计算出该日期是星期几?

源代码如下:


/*
* author:X
* date:2021/9/17 18:49
* description:输入一个日期,计算出该日期是星期几?
*/

#include <stdio.h>
int leap(int year);
int main()

    int year, month, day, i;
    int m[12] =  31,28,31,30,31,30,31,31,30,31,30,31 ;
    printf("请输入要判断的年月日(格式如:2021 9 17 年月日之间用空格隔开):");
    while (~scanf("%d %d %d", &year, &month, &day))
    
        if (day < 1 || month < 1 || month > 12 || year < 1 || year>10000|| day > m[month - 1])
        
            printf("%d/%d/%d 是不正确的日期\\n", year, month, day);
            return -1;
        
        if (leap(year))
            m[1] = 29;
        else
            m[1] = 28;
        int sum = 0;
        sum += day;
        for (i = 1; i < month; i++)
            sum += m[i - 1];
        for (i = 1; i < year; i++)
        
            sum += 365;
            if (leap(i))
                sum++;
        
        int  dx = sum % 7;
        if (dx == 0)
            printf("%d/%d/%d 是星期天\\n", year, month, day);
        else if (dx == 1)
            printf("%d/%d/%d 是星期一\\n", year, month, day);
        else if (dx == 2)
            printf("%d/%d/%d 是星期二\\n", year, month, day);
        else if (dx == 3)
            printf("%d/%d/%d 是星期三\\n", year, month, day);
        else if (dx == 4)
            printf("%d/%d/%d 是星期四\\n", year, month, day);
        else if (dx == 5)
            printf("%d/%d/%d 是星期五\\n", year, month, day);
        else if (dx == 6)
            printf("%d/%d/%d 是星期六\\n", year, month, day);
    
    return 0;


int leap(int year)                  //判断是否为闰年

    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
        return 1;
    return 0;

测试结果:

以上是关于c语言编程题:输入一个日期,计算出该日期是星期几?的主要内容,如果未能解决你的问题,请参考以下文章

c语言编程题:输入一个日期,计算出该日期是星期几?

c语言编程题:输入一个日期,计算出该日期是星期几?

谁知道怎么用C语言编写万年历啊

c语言:从键盘上输入一个日期,判断输入的日期是不是正确

LQ0042 星期一日期计算

C语言 求不吉利日期