定义一维整型数组,输入5个数,从大到小排序,输出次最大值。
时间: 2024-05-01 16:19:23 浏览: 9
好的,这是一个经典的排序问题。实现这个问题的代码如下:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[5];
for(int i=0; i<5; i++) {
cin >> arr[i];
}
sort(arr, arr+5); // 从小到大排序
int secondMax = arr[3]; // 次最大值为排序后倒数第二项
cout << secondMax << endl;
return 0;
}
```
注意,这里使用了 C++ 中的 `sort` 函数对数组进行排序,排完序后我们取倒数第二个数即为次最大值。
相关问题
c语言定义一维整型数组,输入5个数,从大到小排序,输出次最大值。
好的,我理解了你的要求。下面是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int arr[5], i, j, temp;
for(i = 0; i < 5; i++) {
printf("输入第 %d 个数:", i + 1);
scanf("%d", &arr[i]);
}
// 冒泡排序
for(i = 0; i < 4; i++) {
for(j = 0; j < 4 - i; j++) {
if(arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("排序后的数组为:");
for(i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n次最大值为:%d", arr[1]);
return 0;
}
```
这段代码定义了一个长度为 5 的整型数组,通过循环输入五个数,然后使用冒泡排序将其从大到小排序,并输出次大值。
用c语言定义一维整型数组,输入5个数,从大到小排序,输出次最大值。
好的,这个问题可以回答。以下是用C语言定义一维整型数组,输入5个数,从大到小排序,输出次最大值的代码:
```c
#include <stdio.h>
int main()
{
int a[5], i, j, temp;
printf("请输入5个整数:\n");
for (i = 0; i < 5; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < 4; i++)
{
for (j = i + 1; j < 5; j++)
{
if (a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("次最大值为:%d", a[1]);
return 0;
}
```
请确认以上回答是否符合您的要求。