[英]How to find the largest and the second largest in a array
我有一個數組,我試圖在數組中找到最大和第二大的數字,但使用我的代碼
void FindNum(int arr[],int size){
int first;
int second;
for (int i = 0;i<size;i++){
first = max(first,arr[i]);
}
cout<<"Largest number is "<<first<<endl;
for(int i =0; i<size;i++){
if(arr[i] != first)
second =max(second,arr[i]);
}
cout<<"Second largest is "<<second<<endl;
}
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int nums[] = {13,15,4,16,3,11,6,18};
int n = (sizeof(nums) / sizeof(nums[0]));
FindNum(nums,n);
}
第二個的output出來是32681
只需遍歷數組並存儲 2 個最大值。
#include <iostream>
#include <climits>
int main() {
int biggest = INT_MIN; // initial value
int secondBiggest = INT_MIN; // initial value
int nums[] = {/*Some value*/ };
const int n = (sizeof(nums) / sizeof(nums[0]));
for (int i = 0; i < n; i++) {
if (nums[i] > biggest) {
secondBiggest = biggest;
biggest = nums[i];
}
else if (nums[i] > secondBiggest) {
secondBiggest = nums[i];
}
}
std::cout << biggest << "\t" << secondBiggest;
}
注意:我們用 'INT_MIN' 初始化了 'biggest' 和 'secondBiggest',因此,數組的第一個和第二個元素可以替換這兩個值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.