找出陣列中第二大的數

2021-07-05 18:15:39 字數 574 閱讀 1485

題目:寫乙個函式找出乙個整數陣列中,第二大的數。

[cpp]view plain

copy

print?

#include 

//初始化最大值為a[0],次大值為a[1],遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。

intfindsecondmaxvalue(

int*a,

intsize)  

else

if(a[i]  second)  

//更新次大值  

}  return

second;  

}  int

main(

void

)  ;  

printf("second value = %d\n"

,findsecondmaxvalue(a,

sizeof

(a)/

sizeof

(a[0])));  

return

0;  

}  

執行結果:

本文部分內容摘自:

找出陣列中第二大的數

給你乙個陣列,求出其中第二大的數 比如陣列a 1,2,3,4,5,6,7,8,9 其中第二大的數為8,返回8即可 分析 一般情況下都是求最大值,呵呵,這道題很有趣。想想也不難,可以在掃瞄最大值的同時,求出第二大的值,就是比當前最大值大的數賦給最大值,然後用第二大的值與先前的最大值比較,如果小,則用先...

找出陣列中第二大的數

include include includeusing namespace std 初始化最大值為a 0 次大值為a 1 遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。這種方法時間複雜度為o n bool invalidinput false int findsecondmax i...

Python中找出陣列中第二大的數

已知numpy函式庫中max和argmax函式可以得出乙個陣列中最大的成員以及所在位置 import numpy as np arr 2,3,4,1,7,6,5 print arr中最大的數為 位於第 位 format np.max arr np.argmax arr 1 那麼如何得到乙個陣列中第二...