fork download
  1. #include <stdio.h>
  2.  
  3. #define N 3
  4.  
  5. struct student {
  6. int id, eng, math, sci;
  7. };
  8.  
  9. int main() {
  10. int i, j, sum1, sum2;
  11. struct student tmp;
  12.  
  13. struct student s[N] = {
  14. {17001, 60, 100, 20},
  15. {17002, 90, 40, 80},
  16. {17003, 20, 30, 50}
  17. };
  18.  
  19. for(i = 0; i < N - 1; i++) {
  20. for(j = 0; j < N - 1 - i; j++) {
  21. sum1 = s[j].eng + s[j].math + s[j].sci;
  22. sum2 = s[j+1].eng + s[j+1].math + s[j+1].sci;
  23.  
  24. if(sum1 > sum2) {
  25. tmp = s[j];
  26. s[j] = s[j+1];
  27. s[j+1] = tmp;
  28. }
  29. }
  30. }
  31.  
  32. for(i = 0; i < N; i++) {
  33. printf("%d %d %d %d 合計=%d\n",
  34. s[i].id,
  35. s[i].eng,
  36. s[i].math,
  37. s[i].sci,
  38. s[i].eng + s[i].math + s[i].sci);
  39. }
  40.  
  41. return 0;
  42. }
  43.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
17003 20 30 50 合計=100
17001 60 100 20 合計=180
17002 90 40 80 合計=210