C語言學習記錄(4)
阿新 • • 發佈:2018-12-15
C語言學習記錄
學校的OJ上的題
青年歌手大獎賽_評委會打分
題目描述 青年歌手大獎賽中,評委會給參賽選手打分。選手得分規則為去掉一個最高分和一個最低分,然後計算平均得分,請程式設計輸出某選手的得分。 輸入描述 輸入資料有多組,每組佔一行,每行的第一個數是n(2<n<=100),表示評委的人數,然後是n個評委的打分。 輸出描述 對於每組輸入資料,輸出選手的得分,結果保留2位小數,每組輸出佔一行。 輸入樣例 3 99 98 97 4 100 99 98 97 輸出樣例 98.00 98.50
解題:
#include <stdio.h>
int main(int argc, char ** argv) {
int n,i=0;
double num[100];
int c=0;
double m,a=0,b=204748364;
double sum=0.0;
while(~scanf("%d",&n))
{
if(n>2&&n<=100)
{
while(c<n)
{
scanf("%lf",&m);
num[c]=m;
c++ ;
}
for(c=0;c<n;c++)
{
if(a<num[c])
{
a=num[c];
}
while(b>num[c])
{
b=num[c];
}
}
c=0;
do{
sum=sum+num[c];
c++;
}while(c<n);
printf("%.2lf\n",1.0*(sum-a-b)/(n-2));
sum=0;
c=0;
a=0;
b=204748364;
}
}
return 0;
}
注意:
- 最後各個變數要重置。