fork download
  1. #include <stdio.h>
  2.  
  3. void sort(int *a,int n)
  4. {
  5. int i, j, k, tmp;
  6.  
  7. for (i = 1; i < n; i++) {
  8. tmp = a[i];
  9.  
  10. for (k = i; k > 0 && a[k - 1] > tmp; k--)
  11. a[k] = a[k - 1];
  12. a[k] = tmp;
  13.  
  14. printf("%-2d回目:",i);
  15. for (j = 0; j < n; j++)
  16. printf("%-5d ", a[j]);
  17. printf("\n");
  18. }
  19. }
  20.  
  21. int main(void)
  22. {
  23. int i;
  24. int a[7];
  25.  
  26. puts("7人の点数を表示してください");
  27.  
  28. for (i = 0; i < 7; i++)
  29. scanf("%d", &a[i]);
  30.  
  31. printf("整列前:");
  32. for (i = 0; i < 7; i++)
  33. printf("%-5d ",a[i]);
  34. printf("\n");
  35.  
  36. sort(a,7);
  37.  
  38. printf("整列後:");
  39. for (i = 0; i < 7; i++)
  40. printf("%-5d ",a[i]);
  41. printf("\n");
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0.01s 1680KB
stdin
62
45
15
73
32
90
84
stdout
7人の点数を表示してください
整列前:62    45    15    73    32    90    84    
1 回目:45    62    15    73    32    90    84    
2 回目:15    45    62    73    32    90    84    
3 回目:15    45    62    73    32    90    84    
4 回目:15    32    45    62    73    90    84    
5 回目:15    32    45    62    73    90    84    
6 回目:15    32    45    62    73    84    90    
整列後:15    32    45    62    73    84    90