fork download
  1. #include <stdio.h>
  2.  
  3. // バブルソート関数の宣言
  4. void bubbleSort(int arr[], int n);
  5.  
  6. int main() {
  7. int n;
  8. printf("配列の要素数を入力してください: ");
  9. scanf("%d", &n);
  10.  
  11. int arr[n];
  12.  
  13. // 配列の要素を入力
  14. printf("配列の要素を入力してください:\n");
  15. for (int i = 0; i < n; i++) {
  16. printf("arr[%d]: ", i);
  17. scanf("%d", &arr[i]);
  18. }
  19.  
  20. // バブルソートで並べ替え
  21. bubbleSort(arr, n);
  22.  
  23. // ソートされた配列を出力
  24. printf("10の位が大きい順に並べ替えられた配列:\n");
  25. for (int i = 0; i < n; i++) {
  26. printf("%d ", arr[i]);
  27. }
  28. printf("\n");
  29.  
  30. return 0;
  31. }
  32.  
  33. // バブルソート関数の定義
  34. void bubbleSort(int arr[], int n) {
  35. for (int i = 0; i < n - 1; i++) {
  36. for (int j = 0; j < n - i - 1; j++) {
  37. // 10の位で比較して交換
  38. if ((arr[j] / 10) < (arr[j + 1] / 10)) {
  39. int temp = arr[j];
  40. arr[j] = arr[j + 1];
  41. arr[j + 1] = temp;
  42. }
  43. }
  44. }
  45. }
  46.  
Success #stdin #stdout 0s 5304KB
stdin
10 20 30
stdout
配列の要素数を入力してください: 配列の要素を入力してください:
arr[0]: arr[1]: arr[2]: arr[3]: arr[4]: arr[5]: arr[6]: arr[7]: arr[8]: arr[9]: 10の位が大きい順に並べ替えられた配列:
74780886 32765 5449 30 20 1 0 0 0 -2076611755