C language ranking algorithm and ranking algorithm, C Language Algorithm ranking
1 #include "stdio.h"
2 int search_second_max (int array [], int n, int m)
3 {
4 int max1;
5 int i, num;
6 num = 1; // default first place
7 if (m> n) return 0;
8 max1 = array [m];
9 for (i = 0; i <n; i ++)
10 {
11 if (array [i]> max1)
12 {
13 num ++;
14}
15
16}
17 return num;
18}
19
20
21 void sort (int * a, int l) // a is the array address, and l is the array length.
twenty two {
23 int i, j;
24 int v;
25 // sort body
26 for (i = 0; i <l-1; i ++)
27 for (j = i + 1; j <l; j ++)
28 {
29 if (a [i]> a [j]) // If the front is larger than the back, exchange.
30 {
31 v = a [i];
32 a [i] = a [j];
33 a [j] = v;
34}
35}
36}
37
38 // ranking
39 void PaiMing (int * a, int * b, int * c, int N)
40 {
41 int i, j;
42 int v;
43 int arrayindex [8] [2];
44
45 for (i = 0; i <8; i ++)
46 {
47 arrayindex [i] [0] = a [i];
48 arrayindex [i] [1] = i;
49}
50 // Sort subjects from small to large
51 for (i = 0; i <N-1; i ++)
52 for (j = i + 1; j <N; j ++)
53 {
54 if (arrayindex [i] [0]> arrayindex [j] [0]) // If the front is larger than the back, then swap.
55 {
56 v = arrayindex [i] [0];
57 arrayindex [i] [0] = arrayindex [j] [0];
58 arrayindex [j] [0] = v;
59
60 v = arrayindex [i] [1];
61 arrayindex [i] [1] = arrayindex [j] [1];
62 arrayindex [j] [1] = v;
63
64}
65}
66
67 // ranking
68 for (i = 0, j = 1; i <N-1; i ++)
69 {
70
71 if (arrayindex [i] [0]! = Arrayindex [i + 1] [0])
72 {
73 b [i] = j;
74 j ++;
75 b [i + 1] = j;
76} else
77 {
78 b [i] = j;
79 b [i + 1] = j;
80}
81}
82
83 for (i = 0; i <N; i ++)
84 {
85 a [i] = arrayindex [i] [0];
86 c [i] = arrayindex [i] [1];
87}
88
89}
90
91
92 int main (void)
93 {
94 int a [8] = {7,2,6,3,3,7,1,8};
95 int num;
96 int i;
97 int b [8];
98 int c [8];
99
100 printf ("--------------------------------------- \ n");
101
102 PaiMing (a, b, c, 8);
103 for (i = 0; i <8; i ++)
104 {
105 printf ("a [% d] =% db [% d] =% dc [% d] =% d \ n", i, a [i], i, b [i], i, c [i] );
106}
107 printf ("\ n");
108 printf ("---------------------------------------- \ n");
109
110
111
112
113}
Result output
---------------------------------------
A [0] = 1 B [0] = 1 c [0] = 6
A [1] = 2 B [1] = 2 c [1] = 1
A [2] = 3 B [2] = 3 c [2] = 4
A [3] = 3 B [3] = 3 c [3] = 3
A [4] = 6 B [4] = 4 c [4] = 2
A [5] = 7 B [5] = 5 c [5] = 5
A [6] = 7 B [6] = 5 c [6] = 0
A [7] = 8 B [7] = 6 c [7] = 7
----------------------------------------
--------------------------------
Process exited after 0.8098 seconds with return value 0
Press any key to continue...