『题解』UVa online judge UVA12646 Zero or One
题目大意
给定三个数 \(A,B,C\),你需要找出与另外两个数不一样的数,并输出它是哪个数(A、B 或 C)。
若三个数都相等,则输出 *。
数据保证三个数中至少有两个数相等。
多组数据。
思路
先判断三个是否都相等,若相等,则输出并进入下一组数据。
否则,就两个两个判断是否相等,若相等,则输出另一个数。
具体要判断的数对分别是:A 和 B,A 和 C,B 和 C。
代码
#include <iostream>
using namespace std;
int a,b,c;
int main(){
while(cin >> a >> b >> c){ // 不断输入,直到无输入为止
if(a==b && b==c){ // 全部相等的情况
puts("*");
continue;
}
// 这里不用注意三个都相等的情况,上面已经特判了
if(a==b) puts("C"); // a 和 b 相等,那么 c 就一定不一样
if(a==c) puts("B"); // a 和 c 相等,那么 b 就一定不一样
if(b==c) puts("A"); // b 和 c 相等,那么 a 就一定不一样
}
return 0;
}

浙公网安备 33010602011771号