方法一:
#include "stdio.h"
#include "stdlib.h"
//初始化最大值為a[0],次大值為a[1],遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。
int findsecondmaxvalue(int *a,int size)
else if(a[i]s_max) //更新次大值
s_max=a[i];
}return s_max;
}int main(void)
; second=findsecondmaxvalue(a,sizeof(a)/sizeof(a[0]));
printf("這個陣列中的次大值為:%d\n",second);
system("pause");
return 0;
}
方法二:
/*
寫乙個函式找出乙個整數陣列中,第二大的數(microsoft)
要求效率盡可能高
*/ #include "stdio.h"
#include "stdlib.h"
int find(int *a,int n) //從陣列的第二個元素開始查詢
return second;
}int findsecondmaxvalue(int *a,int size)
else if(a[i]second)
second=a[i];
} //最大值和次大值相等(陣列的第乙個元素為最大值的時候)
if(first==second)
return second;
}int main(void)
; int second=findsecondmaxvalue(a,sizeof(a)/sizeof(a[0]));
printf("這個陣列中的次大值為:%d\n",second);
system("pause");
return 0;
}
尋找陣列中的第二大數
方法一 include stdio.h include stdlib.h 初始化最大值為a 0 次大值為a 1 遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。int findsecondmaxvalue int a,int size else if a i s max 更新次大值 s...
尋找陣列中的第二大數
找陣列中的第二大數是乙個查詢過程,一般返回的應該是第二大數在陣列中的位置,但若有其他用途,也可以返回該值 是否找到的標誌和它的真值。估有兩種做法,但其基本思想都是用乙個新數與當前的最大數進行比較,若新數大於最大數,則新書則成為最大數,最大數退居第二大數 若新數大於當前的第二大數並且新書小於最大數,則...
尋找陣列中的第二大數
方法一 初始化最大值為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 ...