题目的主要信息:

  • 对于输入的三个整数aaabbbccc,取其中最大值输出
  • 要求使用三元表达式

具体做法:

C++唯一的三元表达式:

(语句1) ? (语句2): (语句3)

这是一个具有判断功能的表达式,其中语句1类似if语句括号中的内容,具有判断作用,如果语句1的结果为true,则进入语句2,如果语句1的结果为false,则进入语句3。

我们用一个待输出的变量output先保存aaa的值,然后分别用三元表达式判断它与bbbccc的大小关系,更新output为其中较大值,这样我们就找到了三个数的最大值。

alt

#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)O(1),只有判断没有循环,常数时间
  • 空间复杂度:O(1)O(1)O(1),临时变量都是常数个