|
发表于 2022-10-28 14:01:44
|
显示全部楼层
本帖最后由 jackz007 于 2022-10-28 14:11 编辑
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void random(int d[][200] , int m , int n)
- {
- time_t t ;
- if(n > 0 && m > 0) {
- srand((unsigned long long) time(& t)) ;
- for(int i = 0 ; i < n ; i ++) for(int j = 0 ; j < m ; j ++) d[i][j] = rand() % 10 ;
- }
- }
- void swap(int * a , int * b)
- {
- int t ;
- t = * a ; * a = * b ; * b = t ;
- }
- void sort(int d[] , int n)
- {
- for(int i = 0 ; i < n - 1 ; i ++) for(int j = i + 1 ; j < n ; j ++) if(d[i] < d[j]) swap(& d[i] , & d[j]) ;
- }
- int comp(int d1[] , int d2[] , int n)
- {
- int i ;
- for(i = 0 ; i < n && d1[i] == d2[i] ; i ++) ;
- return (i == n) ? 0 : (d1[i] > d2[i]) ? 1 : -1 ;
- }
- int main()
- {
- int a[200][200] , b[200][200] , d[200] , e[200] , i , j , k , m = 12 , n , t ;
- scanf("%d", & n) ;
- random(a , m , n) ;
- for(i = 0 ; i < n ; i ++) for(j = 0 ; j < m ; j ++) b[i][j] = a[i][j] ;
- for(i = 0 ; i < n ; i ++) {
- printf("[%2d] : %d" , i + 1 , a[i][0]) ;
- for(j = 1 ; j < m ; j ++) printf(" %d" , a[i][j]) ;
- printf("\n") ;
- }
- printf("\n") ;
- for(i = 0 ; i < n ; i ++) for(j = d[i] = 0 ; j < m ; j ++) d[i] += a[i][j] ;
- for(i = 0 ; i < n ; i ++) sort(a[i] , m) ;
- for(i = 0 ; i < n ; i ++) e[i] = i ;
- for(i = 0 ; i < n - 1 ; i ++) for(j = i + 1 ; j < n ; j ++) if(d[e[i]] < d[e[j]]) swap(& e[i] , & e[j]) ;
- for(k = 0 ; k < n && d[e[k]] == d[e[0]] ; k ++) {
- printf("[%2d] : %d" , e[k] + 1 , b[e[k]][0]) ;
- for(i = 1 ; i < m ; i ++) printf(" %d" , b[e[k]][i]) ;
- printf("\n") ;
- }
- if(k > 1) {
- for(i = 0 ; i < k - 1 ; i ++) for(j = i + 1 ; j < k ; j ++) if(comp(a[e[i]] , a[e[j]] , m) < 0) swap(& e[i] , & e[j]) ;
- printf("\n") ;
- printf("[%2d] : %d" , e[0] + 1 , b[e[0]][0]) ;
- for(i = 1 ; i < m ; i ++) printf(" %d" , b[e[0]][i]) ;
- printf("\n") ;
- }
- }
复制代码
编译、运行实况:
- D:\[00.Exerciese.2022]\C>g++ -o x x.c
- D:\[00.Exerciese.2022]\C>x
- 8
- [ 1] : 3 8 0 5 8 6 9 4 8 2 3 1
- [ 2] : 9 6 1 3 7 0 0 2 2 8 1 9
- [ 3] : 2 5 1 2 8 4 1 9 9 5 2 0
- [ 4] : 5 9 0 5 4 9 6 7 6 8 5 7
- [ 5] : 7 6 7 5 1 4 4 3 7 4 8 3
- [ 6] : 9 1 8 7 3 9 7 6 6 8 5 2
- [ 7] : 5 5 2 6 0 3 5 7 5 3 3 4
- [ 8] : 0 0 6 4 8 8 2 8 8 0 0 0
- [ 4] : 5 9 0 5 4 9 6 7 6 8 5 7
- [ 6] : 9 1 8 7 3 9 7 6 6 8 5 2
- [ 6] : 9 1 8 7 3 9 7 6 6 8 5 2
- D:\[00.Exerciese.2022]\C>
复制代码 |
|