从键盘输入5个数,求第二大数,如果没有就不输出
例如:
输入 | 结果 |
---|---|
1 2 3 4 5 | 4 |
1 2 45 45 30 | 30 |
23 23 23 23 23 | |
-34 -56 -112 -57 -67 | -56 |
首先用sort将输入的五个数进行排序
然后判断整个数组是否都是相同数字 (注意for要从1开始循环,从0开始循环a[0]自然会等于a[0])
if (a[0]==a[i])
{
return 0;
}
如果数组a中的数字不是全部相等,再判断数组最大的两个数字是否相等
for (int i = 5; i >1; i--)
{
if (a[i] == a[i-1])
{
cout << a[i - 2];
f = 1;
}
(这个方法只能判断最大数有两个的情况,但总共也只有五个数,多写几个判断就行(其实是本人不会,请速指点))
——————
如果数组中没有重复的数,就输出排序后的倒数第二个数
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int a[5];
for (int i = 0; i < 5; i++)
{
cin >> a[i];
}
sort(a, a + 5);
for (int i = 1; i < 5; i++)
{
if (a[0]==a[i])
{
return 0;
}
}
int f = 0;
for (int i = 5; i >1; i--)
{
if (a[i] == a[i-1])
{
cout << a[i - 2];
f = 1;
}
}
if (f == 0)
{
cout << a[3];
}
return 0;
}