题解 | 牛牛的考试
牛牛的考试
https://www.nowcoder.com/practice/1a7a7c8d721547a29107cf02330ffe72
#include <stdio.h>
#include <string.h>
#define Max 601
int main() {
int T;
scanf("%d", &T);
while (T--) {
char options[4][Max];
int lens[4];
for (int i = 0; i < 4; i++) {
//读入并计算长度
scanf("%s", options[i]);
lens[i] = strlen(options[i]);
}
int Min_ind = 0, Max_ind = 0;
int Min_cnt = 1, Max_cnt = 1;
int max = lens[0], min = lens[0];
for (int i = 1; i < 4; i++) {
if (max < lens[i]) {
max = lens[i];
Max_ind = i;
Max_cnt = 1;
} else if (max == lens[i]) {
Max_cnt++;
}
if (min > lens[i]) {
min = lens[i];
Min_ind = i;
Min_cnt = 1;
} else if (min == lens[i]) {
Min_cnt++;
}
}
//每次到这里的时候都会更新Min_ind Max_ind max min这些值的,所以不用再放循环了,这本来就是判断单个题的逻辑
if (Max_cnt == 1 && Min_cnt != 1) {
printf("%c\n", 'A' + Max_ind);
} else if (Min_cnt == 1 && Max_cnt != 1) {
printf("%c\n", 'A' + Min_ind);
} else {
printf("C\n");
}
}
return 0;
}
查看14道真题和解析
