小明与选择题
描述:
考试中,四选项单项选择题就是包含ABCD四个选项的选择题,其中有一个是正确的选项。
小明身经百战,总结出了一套考试四选项单项选择题的必胜法。他靠这套必胜法纵横天下,没有难得倒他的选择题。
简单归纳,小明的四选项单项必胜法就是:
三短一长选最长,
三长一短选最短,
参差不齐C无敌,
平平整整B无敌。
进一步的,小明在他的著作 《骗分导论(第九百九十六版)》 中提出,判断长短的依据就是:
当一个选项的长度大于四个选项的平均长度时,则认为这个选项长;
当一个选项的长度小于四个选项的平均长度时,则认为这个选项短。
因此,小明总结出:
只要四个选项中有三个都是长选项,则选择最短的那个选项;
只要四个选项中有三个都是短选项,则选择最长的那个选项;
如果四个选项都一样长,则选择B选项;
其他情况都是参差不齐情况,选择C选项。
现在,小明万事俱备,除了他并不会写代码 ,于是就靠你帮他实现一下他的骗分思路了。
输入:
输入数据包含一行四个整数,分别表示A、B、C、D四个选项的长度,题目保证四个整数的取值范围均在 [1,1e8]
之间。
输出:
输出一行一个大写字符(A, B, C 或 D),表示小明应该选择的选项。
样例输入:
1 1 100 100
样例输出:
C
样例输入:
100 1 1 1
样例输出:
A
样例输入:
1 1 1 1
样例输出:
B
样例输入:
100 100 100 1
样例输出:
D
注释:
注意选项大小写,例如输出 A 而不是 a。
C++代码实现
#include<iostream>
using namespace std;
int main(){
int len[4];
char opt[4]={'A','B','C','D'};
for(int i=0;i<4;i++)
cin>>len[i];
if(len[0]==len[1] && len[0]==len[2] && len[0]==len[3]){
cout<<"B";
return 0;
}
float average=(len[0]+len[1]+len[2]+len[3])/4.0;
int l=0;
int s=0;
int lnum,snum;
int i;
for(i=0;i<4;i++){
if(len[i]>average){
l++;
lnum=i;
}
else if(len[i]<average){
s++;
snum=i;
}
else{ //若存在等于average,则必参差不齐
cout<<"C"<<endl;
return 0;
}
}
if(l>s) //3个long,1个short
cout<<opt[snum];
else if(l<s) //1个long,3个short
cout<<opt[lnum];
else //2个long,个short
cout<<"C";
}