方法一:初始化最大值為a[0],次大值為a[1],遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。**如下:
#include#includeint 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...