题解 | 牛牛的考试(注释)
牛牛的考试
https://www.nowcoder.com/practice/1a7a7c8d721547a29107cf02330ffe72
#include <iostream>
#include <string>
using namespace std;
int main() {
int T;
cin >> T;
//处理输入T之后遗留的\n
string str;
getline(cin, str);
while (T--) {
int lens[4];
//处理每组的四个输出
for (int i = 0; i < 4; i++) {
string line;
getline(cin, line);
//这里减去选项的两个字节,仅仅是为了严谨,实际上不影响最终效果
lens[i] = line.length() - 2;
}
int max = -1, min = 601;
//存储长度最大最小值
for (int l : lens) {
if (l > max) max = l;
if (l < min) min = l;
}
//cout用来计数,index用来存储索引
int max_cout = 0, min_cout = 0;
int max_index = -1, min_index = -1;
for (int i = 0; i < 4; i++) {
if (lens[i] == max) {
max_cout++;
max_index = i;
}
if (lens[i] == min) {
min_cout++;
min_index = i;
}
}
//‘A’是一个字节,二max_index是四个字节,会向字节个数多的发生隐式转换,然后char再转回去
if (max_cout == 1 && min_cout != 1) {
cout << (char)('A' + max_index) << endl;
} else if (min_cout == 1 && max_cout != 1) {
cout << (char)('A' + min_index) << endl;
} else {
cout << 'C' << endl;
}
}
}
#我的求职进度条#
查看29道真题和解析