2:  
struct player {
int num;
int score;
int rand;
   7: } ;
   8:  
// 根据对选手的得分排序
int n)
  11: {
int i, j;
struct player tmp;
  14:  
for(i = 0; i < n - 1; i++)
for(j = 0; j < n - 1 - i; j++)
  17:         {
if(psn[j].score > psn[j+1].score)
  19:             {
  20:                 tmp = psn[j];
  21:                 psn[j] = psn[j+1];
  22:                 psn[j+1] = tmp;
  23:             }
  24:         }
  25: }
  26:  
// 对已经根据得分排过序的选手,进行排名赋值
int n)
  29: {
int i, j = 2;
  31:     psn[0].rand = 1;
  32:  
for(i = 1; i < n; i++)
  34:     {
if(psn[i].score != psn[i-1].score )
  36:         {
  37:             psn[i].rand = j;
  38:             j++;
  39:         }
else
  41:             psn[i].rand = psn[i-1].rand;
  42:  
  43:     }
  44: }
  45:  
// 再按选手序号进行排序
int n)
  48: {
int i, j;
struct player tmp;
  51:  
for(i = 0; i < n - 1; i++)
for(j = 0; j < n - 1 - i; j++)
  54:         {
if(psn[j].num > psn[j+1].num)
  56:             {
  57:                 tmp = psn[j];
  58:                 psn[j] = psn[j+1];
  59:                 psn[j+1] = tmp;
  60:             }
  61:         }
  62: }
  63:  
int n)
  65: {
/*以分数为关键字排序*/
/*按照分数排名次*/
/*按照序号重新排序*/
  69: }
  70:  
int main()
  72: {
struct player psn[7] = {{1, 5, 0}, {2, 3, 0}, {3, 4, 0}, {4, 7, 0}, {5, 3, 0}, {6, 5, 0}, {7, 6, 0}};
int i;
  75:     sortRand(psn, 7);
);
  77:  
for(i = 0; i < 7; i++)
  79:     {
, psn[i].num, psn[i].score, psn[i].rand);
  81:     }
  82:  
return 0;
  84: }
  85:  

相关文章:

  • 2022-01-16
  • 2021-08-24
  • 2022-12-23
  • 2021-12-16
  • 2021-09-25
  • 2021-07-28
  • 2021-08-28
  • 2021-10-14
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-21
  • 2021-11-18
  • 2021-11-18
  • 2022-02-21
  • 2021-08-19
相关资源
相似解决方案