关于#c语言#的问题:n是两位数若n>31则n=n-31已知2022年3月18日是星期五,回车输出结果例如:输入32输出2022年3月2日是星期三

n是两位数
若n>31则n=n-31
已知2022年3月18日是星期五,要求运行后输入n,回车输出结果
例如:输入32输出2022年3月2日是星期三

为什么-31,你确定一定是3月?

#include <stdio.h>

int main() {
    int n;
    printf("请输入数字:");
    scanf("%d", &n);

    int day = (n <= 31) ? n + 17 : n - 14;
    int month = (n <= 31) ? 3 : 4;
    int year = 2022;
    printf("%d年%d月%d日是", year, month, day);

    int week_day = (5 + n - 1) % 7;
    switch (week_day) {
        case 0:
            printf("星期日");
            break;
        case 1:
            printf("星期一");
            break;
        case 2:
            printf("星期二");
            break;
        case 3:
            printf("星期三");
            break;
        case 4:
            printf("星期四");
            break;
        case 5:
            printf("星期五");
            break;
        case 6:
            printf("星期六");
            break;
        default:
            break;
    }

    return 0;
}


没看懂,为啥输入32是2022年3月2日?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^