1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int n;
6 cin >> n;
7 switch (n) {
8 case 1:
9 cout << "one" << endl;
10 break;
11 case 2:
12 cout << "two" <<endl;
13 break;
14 case 3:
15 cout << "three" <<endl;
16 break;
17 case 4:
18 cout << "four" <<endl;
19 break;
20 case 5:
21 cout << "five" <<endl;
22 break;
23 case 6:
24 cout << "six" <<endl;
25 break;
26 case 7:
27 cout << "seven" <<endl;
28 break;
29 case 8:
30 cout << "eight" <<endl;
31 break;
32 case 9:
33 cout << "nine" <<endl;
34 break;
35 default:
36 cout << "out" << endl;
37 }
38 return 0;
39}1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int weight;
6 cin >> weight;
7 weight /= 10;
8// weight = weight / 10;
9 switch (weight) {
10 case 0:
11 cout << "A" << endl;
12 break;
13 case 1:
14 cout << "B" << endl;
15 break;
16 case 2:
17 case 3:
18 cout << "C" << endl;
19 break;
20 case 4:
21 cout << "D" << endl;
22 break;
23 default:
24 cout << "E" << endl;
25 }
26 return 0;
27}1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int a, b, c;
6 cin >> a >> b >> c;
7 int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
8// max = max > c ? max : c;
9 cout << max << endl;
10 return 0;
11}当我们要判断的变量有有限个不同的值时,比较适合用switch结构,例如判断星期几、月份、成绩等级等。
1switch (表达式) {
2 case 数值1:
3 操作1;
4 break;
5 case 数值2:
6 操作2;
7 break;
8 case 数值3:
9 操作3;
10 break;
11 default:
12 默认操作;
13}使用switch时需要注意以下几点:
输入1~7的整数,输出对应的星期。
1int day;
2cin >> day;
3switch (day) {
4 case 1:
5 cout << "星期一" << endl;
6 break;
7 case 2:
8 cout << "星期二" << endl;
9 break;
10 case 3:
11 cout << "星期三" << endl;
12 break;
13 case 4:
14 cout << "星期四" << endl;
15 break;
16 case 5:
17 cout << "星期五" << endl;
18 break;
19 case 6:
20 case 7:
21 cout << "周末" << endl;
22 break;
23 default:
24 cout << "输入错误" << endl;
25}三目运算(也叫条件运算)是一种简洁的条件判断写法,可以用一行代码代替简单的if-else结构。
它包含 ? 和 : 两个运算符、三个表达式,因此被称为"三目运算":
? 左边是条件表达式: 左边是条件为真时的返回值: 右边是条件为假时的返回值1// 语法格式:条件表达式 ? 表达式1 : 表达式2
2// 条件为真 → 返回表达式1
3// 条件为假 → 返回表达式2
4
5int a = 10, b = 20;
6int max_ab = a > b ? a : b; // a > b 为假,返回 b,即 max_ab = 20三目运算本质上是if-else的简写形式,上面的代码等价于:
1int max_ab;
2if (a > b) {
3 max_ab = a;
4} else {
5 max_ab = b;
6}使用三目运算时需要注意以下几点:
int n;
cin >> n;
// 直接在输出中使用三目运算
cout << (n % 2 == 0 ? "偶数" : "奇数") << endl;