题目大意
输入三个数,输出他们的中第二大的数的编号(这三个数的编号分别用 A
B
C
来表示)。
解题思路
将这三个数赋给另外三个数,再将这三个数按冒泡的思想排好序(sort
也可以),最后利用另外三个数判断那个数是第二个:
- 判断第二大的数是这三个数中哪一个,输出它的编号。
或者直接判断这个数是否为中间值:
- 判断这个数是否比其中一个数大并且比另外一个数小,或者将另外两数倒过来也可以,如果是,就输出它的编号。
代码
代码 \(1\):
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[4],x,y,z,k;
cin>>a[1]>>a[2]>>a[3];
x=a[1],y=a[2],z=a[4];
for(int i=1;i<=3;i++){
for(int j=1;j<=3-1;j++){
if(a[j]>a[j+1]){
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
if(a[2]==x)cout<<"A\n";
else if(a[2]==y)cout<<"B\n";
else cout<<"C\n";
return 0;
}
代码 \(2\):
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[4];
cin>>a[1]>>a[2]>>a[3];
if((a[1]<a[2]&&a[1]>a[3])||(a[1]>a[2]&&a[1]<a[3])) cout<<"A\n";
else if((a[2]<a[1]&&a[2]>a[3])||(a[2]>a[1]&&a[2]<a[3])) cout<<"B\n";
else cout<<"C\n";
return 0;
}
标签:int,题解,中央,past202010,三个,编号,include
From: https://www.cnblogs.com/zzyblog0619/p/17003632.html