当前位置:编程学习 > C/C++ >>

问题六十八: 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。 选手最后得分为:去掉一个最高分和一个最低分后其余

[plain]
/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)      
* 程序的版权和版本声明部分      
* All rights reserved.      
* 文件名称: txt.c      
* 作    者: liuyongshui      
* 问    题:  在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。 
             选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。 
* 问题来源:  
* 完成日期: 2013 年4 月22日      
* 版 本 号: V1.0      
*/     
 
#include <stdio.h> 
 
#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<num; i++) 
      {    
          printf("第%2d各评委打的分数为:", i+1); 
          scanf("%f", &score[i]); 
      } 
       
      sort(score); 
 
      for(i=1; i<num-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<num; i++) 
    { 
        for(j=i; j<num; 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 <stdio.h>

#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<num; i++)
   {  
    printf("第%2d各评委打的分数为:", i+1);
       scanf("%f", &score[i]);
   }
  
   sort(score);

   for(i=1; i<num-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<num; i++)
 {
     for(j=i; j<num; j++)  
  {
      if(score[i]> score[

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,