cixxxci 2023-11-13 22:02 采纳率: 0%
浏览 3

初始设置MON必须为10的情况下如何达成输入1-7输出星期几以及是否为工作日(关键词-#include)

初始设置MON必须为10的情况下如何达成输入1-7输出星期几以及是否为工作日(关键词-#include)

#include <stdio.h>
enum week 
{
    MON=10, 
    TUE, 
    WED, 
    THU, 
    FRI, 
    SAT, 
    SUN
};

int main()
{
    int a;
    int b=a-10;
    printf("请输入一个1-7之间的整数:\n");
    scanf("%d",&b);
    switch(a)
    {
        case MON:
        case TUE:
        case WED:
        case THU:
        case FRI:
            printf("星期%d为工作日哒\n",a);
            break;
        case SAT:
        case SUN:
            printf("星期%d为休息日哈哈\n",a);
            break;
        default:
            printf("输错了,累坏了吧\n",a);
            break;
    }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-14 08:39
    关注

    【以下回答由 GPT 生成】

    #include <stdio.h>
    
    // 定义星期枚举
    enum week 
    {
        MON = 1,   // 将枚举的值从10改为1
        TUE, 
        WED, 
        THU, 
        FRI, 
        SAT, 
        SUN
    };
    
    int main()
    {
        int b;  // 将a改为b,因为a未被初始化就被用于计算,导致未定义的行为
        printf("请输入一个1-7之间的整数:\n");
        scanf("%d", &b);
    
        if (b >= MON && b <= FRI)  // 使用if语句来判断工作日和休息日,更直观易懂
        {
            printf("星期%d为工作日\n", b);
        }
        else if (b == SAT || b == SUN)
        {
            printf("星期%d为休息日\n", b);
        }
        else
        {
            printf("输入错误,请输入1-7之间的整数\n");
        }
        return 0;
    }
    

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

报告相同问题?

问题事件

  • 创建了问题 11月13日