3219: 求最高同學位置—C語言版
阿新 • • 發佈:2018-11-02
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; }