程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> 問題六十八: 在歌星大獎賽中,有10個評委為參賽的選手打分,分數為1~100分。 選手最後得分為:去掉一個最高分和一個最低分後其余

問題六十八: 在歌星大獎賽中,有10個評委為參賽的選手打分,分數為1~100分。 選手最後得分為:去掉一個最高分和一個最低分後其余

編輯:關於C

[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[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");
}    例如:

 

 

\
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved