题目的主要信息:
- 对于输入的三个整数a、b、c,取其中最大值输出
- 要求使用三元表达式
具体做法:
C++唯一的三元表达式:
(语句1) ? (语句2): (语句3)
这是一个具有判断功能的表达式,其中语句1类似if语句括号中的内容,具有判断作用,如果语句1的结果为true,则进入语句2,如果语句1的结果为false,则进入语句3。
我们用一个待输出的变量output先保存a的值,然后分别用三元表达式判断它与b及c的大小关系,更新output为其中较大值,这样我们就找到了三个数的最大值。
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a;
cin >> b;
cin >> c;
int output = a; //先让待输出等于第一个数
output = output > b ? output : b; //三元表示判断待输出与b的大小,更新为较大值
output = output > c ? output : c; //三元表示判断待输出与c的大小,更新为较大值
cout << output << endl;
return 0;
}
复杂度分析:
- 时间复杂度:O(1),只有判断没有循环,常数时间
- 空间复杂度:O(1),临时变量都是常数个