|
发表于 2020-11-4 13:01:33
|
显示全部楼层
本楼为最佳答案
- #include <stdio.h>
- void func(unsigned long long * min , unsigned long long * max , unsigned long long m)
- {
- char b[64] = {0} , c ;
- int d , j , k , n ;
- for(d = 0 ; m ; d ++ , m /= 10) b[d] = (char) (m % 10) ;
- for(j = 1 ; j < d ; j ++) {
- for(k = j ; k && b[k] < b[k - 1] ; k --) {
- c = b[k] ;
- b[k] = b[k - 1] ;
- b[k - 1] = c ;
- }
- }
- for(* max = 0 , * min = 0 , k = 0 ; k < d ; k ++) {
- * max = * max * 10 + b[d - 1 - k] ;
- * min = * min * 10 + b[k] ;
- }
- }
- main(void)
- {
- unsigned long long min , max , m ;
- scanf("%I64u" , & m) ;
- func(& min , & max , m) ;
- printf("%I64u %I64u\n" , max , min) ;
- }
复制代码 |
|