为整型数组A[n]中找出最大值和次最大值
时间: 2024-06-13 11:05:00 浏览: 6
可以使用两个变量来记录最大值和次大值,遍历整个数组,如果当前元素比最大值大,则将最大值赋值为当前元素,同时将次大值赋值为原来的最大值;如果当前元素比最大值小但比次大值大,则将次大值赋值为当前元素。最后,最大值和次大值即为所求。
以下是示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入数组大小n:";
cin >> n;
int A[n];
cout << "请输入数组元素:";
for (int i = 0; i < n; i++) {
cin >> A[i];
}
int max1 = A[0], max2 = A[0];
for (int i = 1; i < n; i++) {
if (A[i] > max1) {
max2 = max1;
max1 = A[i];
} else if (A[i] > max2) {
max2 = A[i];
}
}
cout << "最大值为:" << max1 << endl;
cout << "次大值为:" << max2 << endl;
return 0;
}
```
相关问题
C语言找出一维整型数组中的次最大值。
好的,我知道了,请看下面的C语言代码:
```c
#include <stdio.h>
int main() {
int array[10] = {5, 3, 8, 6, 3, 9, 1, 0, 2, 7};
int max = array[0];
int second_max = array[0];
for(int i = 0; i < 10; i++) {
if(array[i] > max) {
second_max = max;
max = array[i];
} else if(array[i] > second_max && array[i] < max) {
second_max = array[i];
}
}
printf("次最大值为: %d\n", second_max);
return 0;
}
```
这个程序会找出给定整型数组中的次最大值,并将其输出。
c语言在整型一堆数组中找出最大值和最小值
可以使用循环遍历整型数组,同时使用两个变量分别记录最大值和最小值,比较每个元素和当前最大值和最小值的大小关系,更新这两个变量即可。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int nums[] = {3, 5, 1, 8, 2, 7};
int len = sizeof(nums) / sizeof(int); // 数组长度
int max = nums[0], min = nums[0]; // 初始化最大值和最小值为数组第一个元素
for (int i = 1; i < len; i++) {
if (nums[i] > max) {
max = nums[i]; // 更新最大值
}
if (nums[i] < min) {
min = nums[i]; // 更新最小值
}
}
printf("最大值为:%d,最小值为:%d\n", max, min);
return 0;
}
```
输出结果为:
```
最大值为:8,最小值为:1
```