尋找陣列中的第二大數

2021-09-06 09:10:42 字數 1046 閱讀 6286

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

#include#include

int findsecond(int *a,int

size)

else

if(a[i]s_max) //

更新次大值

s_max=a[i];

}return

s_max;

}int

main()

; second=findsecond(a,sizeof(a)/sizeof(a[0

]));

printf(

"次大值為:%d\n

",second);

system(

"pause");

return0;

}

方法二:

#include#include

/*寫乙個函式找出乙個整數陣列中,第二大的數要求效率盡可能高

*/int find(int *a,int n) //

從陣列的第二個元素開始查詢

return

second;

}int findsecond(int *a,int

size)

else

if(a[i]second)

second=a[i];

}//最大值和次大值相等(陣列的第乙個元素為最大值的時候)

if(first==second)

return

second;

}int

main()

;

int second=findsecond(a,sizeof(a)/sizeof(a[0

]));

printf(

"次大值為:%d\n

",second);

system(

"pause");

return0;

}

尋找陣列中的第二大數

方法一 include stdio.h include stdlib.h 初始化最大值為a 0 次大值為a 1 遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。int findsecondmaxvalue int a,int size else if a i s max 更新次大值 s...

尋找陣列中的第二大數

找陣列中的第二大數是乙個查詢過程,一般返回的應該是第二大數在陣列中的位置,但若有其他用途,也可以返回該值 是否找到的標誌和它的真值。估有兩種做法,但其基本思想都是用乙個新數與當前的最大數進行比較,若新數大於最大數,則新書則成為最大數,最大數退居第二大數 若新數大於當前的第二大數並且新書小於最大數,則...

尋找陣列中的第二大數

方法一 include stdio.h include stdlib.h 初始化最大值為a 0 次大值為a 1 遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。int findsecondmaxvalue int a,int size else if a i s max 更新次大值 s...