1. 程式人生 > >3219: 求最高同學位置—C語言版

3219: 求最高同學位置—C語言版

3219: 求最高同學位置—C語言版

時間限制: 1 Sec  記憶體限制: 128 MB
提交: 207  解決: 115
[提交][狀態][討論版][命題人:smallgyy]

題目描述

設一維陣列存放了n(<100)名同學的身高,編寫函式求身高最高同學的位置,如果結果有多個,需要輸出所有人的位置。
部分程式碼已給定如下,只需要提交缺失的程式碼。

#include<stdio.h>

int main()

{

    int getHeight(float height[],int n,int result[]);

    float height[100];

         int result[100];

    int i,num,n;

         scanf("%d",&n);

    for(i=0; i<n; i++)

            scanf("%f",&height[i]);       

    num=getHeight( height,n,result);

    for(i=0; i<num; i++)

                   printf("%d:%d\n",i+1,result[i]);

    return 0;

}

輸入

n和n名同學的身高

輸出

身高最高同學的位置,多個結果每行顯示一個。

樣例輸入

10
1.7 1.69 1.82 1.59 1.93 1.77 1.93 1.78 1.93 1.72

樣例輸出

1:5
2:7
3:9

int getHeight(float height[],int n,int result[])
{
    int i, j = 0;
    for(i = 0; i < n; ++i)
        result[i] = 0;
    float max = 0;
    for(i = 0; i < n; ++i)
    {
        if(height[i] > max)
            max = height[i];
    }
    for(i = 0; i < n; ++i)
    {
        if(height[i] == max)
        {
            result[j++] = i + 1;  //若有多個,則列印這些高的同學的所在位置(先用陣列裝起來)
        }
    }
    return j;
}