首页  :: 联系 :: 订阅 订阅  :: 管理

0711

Posted on 2007-07-10 19:32  。。。  阅读(167)  评论(1)    收藏  举报
#include <stdio.h>
//定义结构体 
struct pla
{
       
int sort; //每位选手的编号 
       int score[5];//每位选手的5个得分 
       int scoresum;//每位选手的最后得分 
}player[9];

//定义一个函数,输出最高的选手得分
void  fun(struct pla player[9],int n)
{
  
int max=player[0].scoresum;
  
for(int i=1;i<n;i++)
      
if(player[i].scoresum>=max)
          
          max
=player[i].scoresum;
      
else 
           max
=max;
  printf(
"本次大赛最高得分为:%d",max);
            
}

int  main()
{
     
int n;
     
int max,min;//最高得分, 最低得分  
     printf("请输入参赛选手人数(1<n<10):\n");
     scanf(
"%d",&n);
     
     
for(int i=0;i<n;i++)
     {
     
//选手编号
     player[i].sort=i+1;
    
             printf(
"请输入%d选手的得分:\n",player[i].sort);
        
//输入得分 
         for(int j=0;j<5;j++)
         {
                 scanf(
"%d",&player[i].score[j]);
                 player[i].scoresum
+=player[i].score[j];//和 
         }
         
//排序,使得 max=player[i].score[0],min=player[i].score[4]
        for(int t=0;t<4;t++)
         
for(int u=0;u<4;u++)
         {       
                 
if(player[i].score[u]<player[i].score[u+1])
                 {
                 
int temp;
                 temp
=player[i].score[u];
                 player[i].score[u]
=player[i].score[u+1];
                 player[i].score[u
+1]=temp;
                 }         
         }
         max
=player[i].score[0];
         min
=player[i].score[4];
         player[i].scoresum
-=(max+min);//计算后最后的得分情况 
         printf("去掉一个最高分:%d\n",max);
         printf(
"去掉一个最低分:%d\n",min);
         printf(
"%d号选手的最后得分:%d\n",player[i].sort,player[i].scoresum);
         getchar();
     } 
     
//输出最高的得分 
     fun(player,n);
     getchar();