Java题 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分

2024-11-22 19:04:12
推荐回答(2个)
回答1:

//希望你看完采纳 谢谢
 #include  
 
#define num 10              //  十个评委 
void  star(void);           //打印星号 
void  sort(float score[]);    //从小到大排序 
 
int main() 
{      
      int i; 
      float sum=0; 
      float average; 
      float score[10]; 
 
      star();  //打印星号 
       
      printf("请输入每个评委给您打的分数\n"); 
      for(i=0; i      {    
          printf("第%2d各评委打的分数为:", i+1); 
          scanf("%f", &score[i]); 
      } 
       
      sort(score); 
 
      for(i=1; i      { 
          sum+=score[i];  
      } 
      average=sum/8;     //求平均分 
       
      printf("\n去掉的最高分为:%0.2f\n", score[num-1]); 
      printf("\n去掉的最低分为:%0.2f\n", score[0]); 
      printf("\n去掉最高分最低分后,您的总分为:%0.2f\n", sum); 
      printf("\n去掉最高分最低分后,您的平均分为:%0.2f\n", average); 
       
      printf("\n哈哈, 谢谢您的合作!\nGOOD BYE!\n"); 
      star();  //打印星号 
 
      return 0; 

 
//排序函数 
void sort(float score[])    //从小到大排序 

    int i; 
    int j; 
    float t;  // 用于交换数 
 
    for(i=0; i    { 
        for(j=i; j        { 
            if(score[i]> score[j])    
            { 
               t= score[i]; 
               score[i]= score[j]; 
               score[j]=t; 
            } 
        } 
    } 

//star函数 
 
void star(void) 
{    
    int i; 
     
    for(i=0; i<60; i++) 
    { 
        printf("*"); 
    } 
    printf("\n"); 

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)    
* 程序的版权和版本声明部分    
* All rights reserved.    
* 文件名称: txt.c    
* 作    者: liuyongshui    
* 问    题:  在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。
             选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
* 问题来源: 
* 完成日期: 2013 年4 月22日    
* 版 本 号: V1.0    
*/   
#include 
#define num 10    //  十个评委
void  star(void);           //打印星号
void  sort(float score[]);    //从小到大排序
int main()
{    
   int i;
   float sum=0;
   float average;
   float score[10];
   star();  //打印星号
  
   printf("请输入每个评委给您打的分数\n");
   for(i=0; i   {  
    printf("第%2d各评委打的分数为:", i+1);
       scanf("%f", &score[i]);
   }
  
   sort(score);
   for(i=1; i   {
       sum+=score[i];
   }
   average=sum/8;     //求平均分
     
   printf("\n去掉的最高分为:%0.2f\n", score[num-1]);
   printf("\n去掉的最低分为:%0.2f\n", score[0]);
      printf("\n去掉最高分最低分后,您的总分为:%0.2f\n", sum);
   printf("\n去掉最高分最低分后,您的平均分为:%0.2f\n", average);
     
   printf("\n哈哈, 谢谢您的合作!\nGOOD BYE!\n");
      star();  //打印星号
   return 0;
}
//排序函数
void sort(float score[])    //从小到大排序
{
    int i;
 int j;
    float t;  // 用于交换数
 for(i=0; i {
     for(j=i; j  {
      if(score[i]> score[j])  
   {
      t= score[i];
      score[i]= score[j];
      score[j]=t;
   }
  }
 }
}
//star函数
void star(void)
{  
 int i;
   
 for(i=0; i<60; i++)
 {
  printf("*");
 }
 printf("\n");
}

回答2:

没有分