请教c语言编程题目

来源:百度知道 编辑:UC知道 时间:2024/04/30 19:02:17
电视大奖赛有20名评委给选手打分,平分规则是去掉一个最高分,和一个最低分,其余18位评委的平均分为选手的得分。设计评分程序(用循环,不能用数组),请教大家

main()
{
float max,min;
float sum,now;
int i;
printf("请输入第1个评分:");
scanf("%f",&sum);
printf("\n");
max=sum;
min=sum;
for(i=2;i<20;i++)
{
printf("请输入第%d个评分:",i);
scanf("%f",&now);
printf("\n");
sum=sum+now;
if(max<now)
max=now;
if(min>now)
min=now;
}
sum=sum-min-max;
printf("%f",sum/18);
}

不用数组能实现吗?BT

用指针很容易啊,但是有一个问题,就是我现在很忙,等一下才能给你答案

这个可以实现,我说说具体思路:
float max,min,temp,total;
total=0;
for (int i=0 i++ i< 20 ) do //输入各位评委的的循环函数
{
scanf(%f,&input); //依次输入分数
total+=input; //老子不管3*7 21全部加了再说,现在我们还不知道最大的数是多少,到时候减了就行了
if ( i == 0 )
{//为了避免麻烦我们认为最大max和最小min都是我们输入的第一个数值
max=input;
min=input;
};
if ( input > max ) //说明你先在输入的数值是三个数中间最大的