题解
是否通过考试
1 条题解
-
0
解题思路
这道题要求我们使用“条件运算符”(也叫三目运算符)来判断成绩是否合格。条件运算符的格式是: 条件 ? 表达式1 : 表达式2 它表示:如果条件成立,整个式子的值就是“表达式1”的结果;如果条件不成立,整个式子的值就是“表达式2”的结果。可以把它想象成一个二选一的路口,条件决定走左边还是走右边。
我们的条件是“成绩 n 大于等于 60”。如果成立,输出 "Pass";如果不成立,输出 "Fail"。所以可以写成: n >= 60 ? "Pass" : "Fail"
把整个条件表达式放到输出语句里,程序就会根据成绩自动选择输出哪一个字符串。注意比较成绩要用 >=(大于等于),因为题目说“大于等于60”就通过,正好 60 分是算通过的。
平时用 if-else 也能写同样功能的程序,但这道题专门要求用条件运算符,就是要我们练习这种格式:一个问号,两个结果,中间用冒号隔开,写出来就像在问“成绩合格吗?合格就 Pass,不合格就 Fail”。
参考代码
#include using namespace std;
int main() { int n; // n 表示学生的成绩 cin >> n; // 读入成绩
// 条件运算符:成绩>=60 输出 "Pass",否则输出 "Fail" cout << (n >= 60 ? "Pass" : "Fail") << endl; return 0;}
复杂度分析
程序只做了一次比较和一次输出,运算次数固定,不会因为输入数据的规模而改变,所以时间复杂度是 O(1)。只使用了一个 int 变量存放成绩,空间复杂度也是 O(1)。
- 1