在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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;//默认第一名 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为数组地址,l为数组长度。 22 { 23 int i, j; 24 int v; 25 //排序主体 26 for(i = 0; i < l - 1; i ++) 27 for(j = i+1; j < l; j ++) 28 { 29 if(a[i] > a[j])//如前面的比后面的大,则交换。 30 { 31 v = a[i]; 32 a[i] = a[j]; 33 a[j] = v; 34 } 35 } 36 } 37 38 //排名 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 //排序主体从小到大 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])//如前面的比后面的大,则交换。 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 //排名次 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]=%d b[%d]=%d c[%d]=%d \n",i,a[i],i,b[i],i,c[i]); 106 } 107 printf("\n"); 108 printf("----------------------------------------\n"); 109 110 111 112 113 } 结果输出 --------------------------------------- ---------------------------------------- -------------------------------- |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论