1. 问题背景与需求分析
这道题目看似简单,但实际涉及多个C++编程的核心知识点。题目要求根据输入的数字(1-7)输出对应的星期几英文单词,这本质上是一个基础的输入输出处理+条件判断问题。但作为教学示例,我们需要考虑更多实际开发中会遇到的情况。
在真实开发场景中,类似的需求非常常见。比如:
- 游戏开发中根据状态码显示不同提示信息
- 电商系统中根据订单状态码返回对应描述
- 物联网设备根据传感器数值返回状态报告
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础实现方案
2.1 最简单的if-else实现
cpp复制#include <iostream>
using namespace std;
int main() {
int day;
cin >> day;
if(day == 1) cout << "Monday";
else if(day == 2) cout << "Tuesday";
else if(day == 3) cout << "Wednesday";
else if(day == 4) cout << "Thursday";
else if(day == 5) cout << "Friday";
else if(day == 6) cout << "Saturday";
else if(day == 7) cout << "Sunday";
else cout << "Invalid input";
return 0;
}
这种实现虽然直接,但存在几个问题:
- 代码重复性高,每个条件都要写cout
- 可维护性差,如果要修改输出格式需要改多处
- 执行效率上,最坏情况需要比较7次
2.2 使用switch-case优化
cpp复制#include <iostream>
using namespace std;
int main() {
int day;
cin >> day;
switch(day) {
case 1: cout << "Monday"; break;
case 2: cout << "Tuesday"; break;
