大学入学(構造)

 

 

1の#include <iostreamの>
 2の#include <cstdioを>
 3の#include <アルゴリズム>
 4  使用して 名前空間をSTD。
5  構造体スコア{
 6      INT 章。
7      INT 馬。
8      int型エン;
9      int型W;
10      INT トット。
11      INT K。
12  }。
13  ブールCMP(スコアX、スコアY)
 14  {
 15      であれば(x.Tot =!y.Tot)
 16      リターン x.Tot> y.Tot。
17     もし(!x.Ma = y.Ma)
 18      リターン x.Ma> y.Ma。
19      もし(!XW = YW)
 20      リターン XW> YW。
21      もし(!x.Ch = y.Ch)
 22      リターン x.Ch> y.Ch。
23      もし(!x.En = y.En)
 24      リターン XK < YK;
25  }
 26スコアM [ 350 ]。
27  INT メイン(){
 28      INT nは、B。
29      のscanf(" %D%D%D "、&​​N、&、&B);
30      のためにINT iが= 1 ; iが<= N; I ++ ){
 31          のscanf(" %D%D%D%D "、&​​M [i]は.CH、&M [i]は.Ma、&M [i]は.ENを、&M [i]の.W)。
32          M [i]は.K = I。
33          M [i]は.Tot = M [i]は.Ma + M [i]は.W + M [i]は.CH + M [i]の.EN。
34      }
 35      ソート(M + 1、M + N + 1 、CMP)。
36      のためにINT ; I <= B I ++ iは= {)
 37          のprintf(" %D%D \ n " 、M [i]は.Tot [I]・K、M)。
38      }
39      リターン 0 ;
40 }

ヒント:この問題でブール値CMPを記述しない場合は、ソート大に小型のため、並べ替えを使用する場合は、エラーが発生します。

次のようにブールCMPとソートソートコードは次のとおりです。

1つの ブールCMP(スコアX、スコアY)
 2  {
 3      であれば(!x.Tot = y.Tot)
 4      戻り x.Tot> y.Tot;}
1つの      ソート(M + 1、M + N + 1 、CMP)。
2      ためのINT iが=、iが<= B; I ++ ){
 3          のprintf(" %D%D \ n " 、M [i]は・K、M [i]の.Tot)。
4      }

ヒント:あるブールCMP、ソートに「CMP」を追加する必要性を、使用して、

       ソート(M + 1、M + N + 1、CMP)。

ソート<アルゴリズム>呼び出し時に適用されるべきヘッダファイルを#include

おすすめ

転載: www.cnblogs.com/bjt1015/p/12056582.html