#include <stdio.h>

void dataPrint(int *a, int n)
{
  int i;

  for ( i = 0; i < 7; i++) {
    printf("%3d", a[i]);
  }
  printf("\n");
}

int shuttle_sort(int num[], int n)
{
  int i, j, k, tmp;

  for (i = 1; i < n; i++) {    /* 配列の先頭の2つ目から */
    tmp = num[i];               /* スキャンしたデータを別の変数に保管し、「挿入するデータ」と定義する */
    k = i;	                /* 挿入位置を変数kに保存 */
    for (j = i; j > 0; j--) {
      if (num[j - 1] > tmp) {   /* 「現在着目しているデータ」> 「挿入するデータ」の場合 */
        num[j] = num[j - 1];
        k = j - 1;              /* データの代入が有った場合だけ、挿入位置を更新 */
      }
    }
    num[k] = tmp;		/* データを挿入 */
    printf("%d 回目：", i);
    dataPrint(num, n);
  }
  return 0;
}

int main()
{
  int i, data[7];

  printf("7人の点数を入力して下さい\n");
  for ( i = 0; i < 7; i++) {
    scanf("%d", &data[i]);
  }
  printf("整列前：");
  dataPrint(data, 7);
  shuttle_sort(data, 7);
  printf("整列後：");
  dataPrint(data, 7);

  return 0;
}
