| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 677 人关注过本帖
标题:我的程序为什么不能找出冠军和亚军,季军?
取消只看楼主 加入收藏
xinbuzai
Rank: 1
等 级:新手上路
帖 子:29
专家分:8
注 册:2010-7-2
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:0 
我的程序为什么不能找出冠军和亚军,季军?
图片附件: 游客没有浏览图片的权限,请 登录注册
#include<stdio.h>
#define M 10
#define N 10
/* 假设参赛选手共有10个,如果有30个则,N的值为30 */
main()
{
   int i,j;int scor[N][M]; int k,a,b,c;
    float avemax,avetwo,avethird;
   float t=0,max,min,sum[N],ave[N];
   system( "graftabl 936 ");    /*调用Ms-Dos中文支持 */
   clrscr();
    printf("         *************************************************\n\n");
    printf("                        卡拉OK大奖赛评分系统\n\n");
    printf("         *************************************************\n\n");
    printf("         本次大赛评分规则:\n");
    printf("         本次大赛的裁判委员会由十名国际顶级裁判组成,参赛\n 选手的最终成绩是去掉一个最低分和一个最高分,然后\n         求取平均值即为最终得分,按成绩由高到低取前三名.\n\n");
    printf("         *************************************************\n");
    printf("             第一届中华杯校园歌手卡拉OK大赛正式开始\n");
    printf("请输入选手的得分(1~100):)\n");
    for(i=0;i<N;i++)/* 选手的顺序 */
    {
      for(j=0;j<M;j++)/* 裁判的顺序 */
       {  printf("请输入第%d个选手的第%d个裁判得分:\t",i+1,j+1);
        scanf("%d",&scor[i][j]);
         while(scor[i][j]<1||scor[i][j]>100)
         {
         printf("你的输入的有错,请重新输入:\n");
         scanf("%d",&scor[i][j]);
         }

       }
    }/* 输入选分的得分到数级SCOR中 */

   printf("各位选手的平均得分是:");
   printf("去掉一个最高分:\t");
   printf("再去掉一个最低分:\t");
      for(i=0;i<N;i++)
   {
      sum[i]=0;
      max=min=scor[i][0];
      for(j=0;j<M;j++)
       {
          if(max<=scor[i][j])max=scor[i][j];
          if(min>=scor[i][j])min=scor[i][j];
          sum[i]+=scor[i][j];
       }/* 找出最高分和最低分 */
       ave[i]=(sum[i]-max-min)/8;
       printf("%.2f\t",ave[i]);
    }
    avemax=avetwo=avethird=ave[0];
    a=b=c=0;
    for(k=1;k<N;k++)
     {
        if(avemax<ave[k])
        {
           avemax=ave[k];
           a=k+1;
        }
     }
         for(k=1;k<N;k++)
        {
        if(avetwo<ave[k]&&avetwo<avemax&&avemax!=ave[k])
        {
           avetwo=ave[k];
           b=k+1;
        }
     }
     for(k=1;k<N;k++)
       { if(avethird<ave[k]&&avethird<avemax&&avethird<avetwo&&avemax!=ave[k]&&avetwo!=ave[k])
        {
           avethird=ave[k];
           c=k+1;
        }

     }/* 找出第一名第二名第三名 */

    printf("本届比赛冠军为%d号!恭喜!!\n",a);
    printf("本届比赛亚军为%d号!恭喜!!\n",b);
    printf("本届比赛季军为%d号!恭喜!!\n",c);
    getch();
}




搜索更多相关主题的帖子: 季军 亚军 冠军 
2010-07-12 16:15
快速回复:我的程序为什么不能找出冠军和亚军,季军?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017054 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved