小鲍鱼~~~ 发表于 2019-11-26 21:15:34

c语言

体操比赛,有 10 个裁判,一个运动员做完动作后,10 个裁判亮分(总分 10 分,程 序则接收这 10 个数据,求平均分的原则,记录该运动员的成绩,并按删除一个最高分、 一个最低分,再求平均的原则计算最终成绩,并显示在屏幕上,精确到小数点后 2 位。请 用循环结构及数组编程。
咋做!!!!!!!!!!

jackz007 发表于 2019-11-26 22:24:43

#include <stdio.h>

void swap(float * a , float * b)
{
      float t   ;
      t = * a   ;
      * a = * b ;
      * b = t   ;
}

main(void)
{
          float d , sum , average                                                                                          ;
          int k                                                                                                                  ;
          printf("输入10个评分:")                                                                                             ;
          scanf("%f%f%f%f%f%f%f%f%f%f" , & d , & d , & d , & d , & d , & d , & d , & d , &d , & d) ;
          if(d > d) swap(& d , & d)                                                                                  ;
          for(k = 1 ; k < 9 ; k ++) {
                  if(d < d) swap(& d , & d)                                                                        ;
                  else if(d > d) swap(& d , & d)                                                                     ;
          }
          for(sum = 0.0 , k = 1 ; k < 9 ; k ++) sum += d                                                                      ;         
          average = sum / 8                                                                                                      ;
          printf("去掉最低分 %.2f , 去掉最高分 %.2f , 平均得分 %.2f\n" , d , d , average)                                  ;
}
      编译、运行实况:
C:\Bin>g++ -static -o x x.c

C:\Bin>x
输入10个评分:9.8 9.0 9.95 9.3 9.2 9.3 9.5 9.0 8.9 9.7
去掉最低分 8.90 , 去掉最高分 9.95 , 平均得分 9.35

C:\Bin>

Young_CH 发表于 2019-11-27 22:56:12

#include <stdio.h>
int main()
{
        int i;
        float n,ave,sum=0,a;
        printf("请输入10个评分:");
        for(i=0;i<10;i++)
        scanf("%f",&a);
        for(i=0;i<10;i++)
        sum=sum+a;
        for(i=0;i<9;i++)
        {
                if(a>a)
                {
                        n=a;
                        a=a;
                        a=n;
                }
        }
        sum=sum-a;
        printf("去掉最高分%f\n",a);
        for(i=0;i<9;i++)
        {
                if(a<a)
                {
                        n=a;
                        a=a;
                        a=n;
                }
        }
        sum=sum-a;
        printf("去掉最低分%f\n",a);
        ave=sum/8;
        printf("平均分为: %.2f",ave);
}
页: [1]
查看完整版本: c语言