fork download
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int N;
  5. scanf("%d", &N);
  6.  
  7. int IDs[N];
  8. for (int i = 0; i < N; i++) {
  9. scanf("%d", &IDs[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 = IDs[j], num2 = IDs[j + 1];
  16. while (num1 != 0) {
  17. sum1 += num1 % 10;
  18. num1 /= 10;
  19. }
  20. while (num2 != 0) {
  21. sum2 += num2 % 10;
  22. num2 /= 10;
  23. }
  24. if (sum1 > sum2 || (sum1 == sum2 && IDs[j] > IDs[j + 1])) {
  25. int temp = IDs[j + 1];
  26. IDs[j + 1] = IDs[j];
  27. IDs[j] = temp;
  28. }
  29. }
  30. }
  31.  
  32. for (int i = 0; i < N; i++) {
  33. printf(" %d " , IDs[i]);
  34. }
  35. printf("\n ");
  36.  
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0s 5280KB
stdin
5
22 71 23 88 55
stdout
 22  23  71  55  88