fork download
  1. #include <stdio.h>
  2.  
  3. // Body構造体を定義
  4. typedef struct {
  5. int id; // ID
  6. int weight; // 体重
  7. int height; // 身長
  8. } Body;
  9.  
  10. // 関数の宣言
  11. void swap(Body data[]);
  12. void display(Body data[]);
  13.  
  14. int main(void) {
  15. // Body構造体配列を初期化
  16. Body data[] = {
  17. {1, 65, 169},
  18. {2, 73, 170},
  19. {3, 59, 161},
  20. {4, 79, 175},
  21. {5, 55, 168}
  22. };
  23.  
  24. // データを並び替え
  25. swap(data);
  26.  
  27. // 結果を表示
  28. display(data);
  29.  
  30. return 0;
  31. }
  32.  
  33. // swap関数:データを身長の逆順に並び替える
  34. void swap(Body data[]) {
  35. Body temp;
  36.  
  37. // 配列の順序を入れ替える
  38. temp = data[0];
  39. data[0] = data[4];
  40. data[4] = temp;
  41.  
  42. temp = data[1];
  43. data[1] = data[3];
  44. data[3] = temp;
  45.  
  46. // data[2](中央)はそのままでOK
  47. }
  48.  
  49. // display関数:データを表示
  50. void display(Body data[]) {
  51. for (int i = 0; i < 5; i++) {
  52. printf("ID: %d, Weight: %d, Height: %d\n", data[i].id, data[i].weight, data[i].height);
  53. }
  54. }
Success #stdin #stdout 0s 5280KB
stdin
Standard input is empty
stdout
ID: 5, Weight: 55, Height: 168
ID: 4, Weight: 79, Height: 175
ID: 3, Weight: 59, Height: 161
ID: 2, Weight: 73, Height: 170
ID: 1, Weight: 65, Height: 169