今天一起分析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);
}
程序运行结果案例:
|