昨天我們講到過求自定類型元素的平均值,也就是用一個數組将所有元素存儲起來。
然後遍曆整個數組,把數組中的每個元素相加,最後除以數組元素的數量得到平均值。
那麼今天這道題的要求呢,就是實現一個函數,求N個集合元素S[]中的最大值。
梳理邏輯
做編程題目之前,最重要的就是先梳理邏輯。
用一個數組S[]來存儲N個元素,然後求最大值。
我們來思考這樣一個問題,求最大值是不是需要每個元素進行比較。
那既然是數組中元素的比較,則需要遍曆整個數組。
然後從第一個元素開始,一個一個元素進行比較,之後将大的元素的值賦給MAX。
最終得到的MAX的值即為最大值。
還需要注意:我們可以發現最終輸出結果保留兩位小數。
所以在定義MAX的時候,要定義成float,也就是浮點型。
代碼實現
//求自定類型元素的最大值
#include <stdio.h>
#define MAXN 10
typedef float ElementType;
ElementType Max( ElementType S[], int N );
int main ()
{
ElementType S[MAXN];
int N, i;
scanf("%d", &N);
for ( i=0; i<N; i )
scanf("%f", &S[i]);
printf("%.2f\n", Max(S, N));
return 0;
}
ElementType Max( ElementType S[], int N ){
float MAX;
int j=0;
for(int i=0;i<N;i ){
if(S[i]>S[j]){
j = i;
MAX = S[j];
}
if(S[j]>=S[i]){
MAX = S[j];
}
}
return MAX;
}
總結
總的來說,像這類函數題的難度都不是很大,隻要理順邏輯,然後反推回去,就可以知道具體代碼怎麼寫了。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!