题目

枚举表示星期,读入数字输出英文名

思路

本题用枚举表示星期几,读入数字输出对应英文星期名。

定义 enumtypedef enum,读 k 后用 switch(k) 打印 Monday 等;越界时提示错误。

解题分析

枚举本质是整数常量名,用数组 names[d] 映射到字符串。越界 d 要检查,否则访问非法下标。

完整程序

#include <stdio.h>

enum Week { SUN, MON, TUE, WED, THU, FRI, SAT };

int main(void)
{
    int d;
    const char *names[] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
    if (scanf("%d", &d) != 1 || d < 0 || d > 6) {
        return 1;
    }
    printf("%s\n", names[d]);
    return 0;
}

运行示例

输入:

1

输出:

Monday