今天一起分析C語言的算法之15:裁判求平均分。
算法:
體操比賽,共有10個評委,最高分10分,求這個體操運動員的最終成績。
提示:去掉最高分,去掉最低分,求平均分。
1.編程思路分析
編程思路:
1、用冒泡法將10個評委打分按分數高低進行排序;
2、去掉最低分和最高分,剩下的8個分數求平均值。
2.程序范例
int main()
{
float cost[10] = {0};
/*定義一個中間變量一個數組和*/
float Temp,sum = 0;
float average = 0; //定義一個平均變量
int i, j;
printf("請輸入10名評委所給出的分數:\n");
/*循環輸入10個數*/
for(i = 0 ; i < 10 ; i++)
{
printf("第 %d 個評委給的分數為:",i+1);
scanf("%f",&cost[ i]);
}
/*設置循環次數為8次*/
for(i = 0 ; i < 10 ; i++)
{
/*從最后一個數開始與前一個數比較*/
for(j = 10 ; j > i ; j--)
{
/*比前一個數大則交換位置*/
if(cost[j] > cost [j-1])
{
Temp = cost[j];
cost[j] = cost[j-1];
cost[j-1] = Temp;
}
}
}
for(i = 1;i < 9 ; i++)
{
sum += cost[ i];
}
average = sum /8;
printf("這個體操運動員最后的成績為:%f\r\n",average);
}
程序運行結果案例:
51hei圖片_20220804092143.jpg (47.29 KB, 下載次數: 62)
下載附件
2022-8-4 10:01 上傳
|