アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のプログラムで途中経過(例えば
i=3の時 44 52 22 41 81
i=2の時 44 22 41 52 81
i=1の時 22 41 44 52 81 のように途中経過を表示するにはどうしたらいいんですか?
解る方がいらっしゃいましたら教えてください。


#include <stdio.h>
int main(void)
{ int i,j;
int n; /* データ数 */
int data[100]; /* データ用 */
int tmp; /* 交換用 */
printf("データ数=");
scanf("%d",&n);
for(i=0;i<n;i++){ /*データ入力*/
printf("data[%d]=",i);
scanf("%d",&data[i]);
}
for(i=n-2;i>=0; i--){
for(j=0; j<=i; j++){
if(data[j]>data[j+1])
{ tmp=data[j]; /* 隣あうデータ */
data[j]=data[j+1]; /* の交換 */
data[j+1]=tmp;
}
}
}
printf("ソート結果\n");
for(i=0;i<n;i++){
printf("data[%d]=%d\n",i,data[i]);
}
}

A 回答 (1件)

for(i=n-2;i>=0; i--){


for(j=0; j<=i; j++){
if(data[j]>data[j+1])
{ tmp=data[j]; /* 隣あうデータ */
data[j]=data[j+1]; /* の交換 */
data[j+1]=tmp;
}
}
/* 追加: ここから */
printf("i = %d の時:", i);
for ( j = 0; j < n; ++j ) {
printf("%d ", data[j]);
}
putchar('\n');
/* 追加: ここまで */
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!