fork download
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int n;
  5. scanf("%d", &n);
  6.  
  7. int arr[n];
  8. for (int i = 0; i < n; i++) {
  9. scanf("%d", &arr[i]);
  10. }
  11.  
  12. for (int i = 0; i < n - 1; i++) {
  13. for (int j = 0; j < n - i - 1; j++) {
  14. int sum1 = 0, sum2 = 0;
  15. int num1 = arr[j], num2 = arr[j + 1];
  16.  
  17. while (num1 != 0) {
  18. sum1 += num1 % 10;
  19. num1 /= 10;
  20. }
  21.  
  22. while (num2 != 0) {
  23. sum2 += num2 % 10;
  24. num2 /= 10;
  25. }
  26.  
  27. if ((sum1 > sum2) || (sum1 == sum2 && arr[j] > arr[j + 1])) {
  28. int temp = arr[j];
  29. arr[j] = arr[j + 1];
  30. arr[j + 1] = temp;
  31. }
  32. }
  33. }
  34.  
  35. for (int i = 0; i < n; i++) {
  36. printf("%d ", arr[i]);
  37. }
  38. printf("\n");
  39.  
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0s 5304KB
stdin
5 
72 36 54 63 9
stdout
9 36 54 63 72