dポイントプレゼントキャンペーン実施中!

10個の整数を
昇順に並び替える
プログラムを
出来るだけ簡単に
使う関数は少なく
出来ないでしょうか?

宜しくお願い致します。

A 回答 (3件)

これはどうですか?



#include <stdio.h>

void main(){

int d[10], i, j, work;

for(i=0; i<10; i++){
printf("d[%d]->", i);
scanf("%d", &d[i]);
}

for(i=0; i<=8; i++){
for(j=i+1; j<=9; j++){
if(d[i]>d[j]){
work=d[i];
d[i]=d[j];
d[j]=work;
}
}
}

for(i=0; i<10; i++){
printf("d[%d]:%d\n", i, d[i]);
}
}
    • good
    • 0
この回答へのお礼

有難う御座います。
もしよければ、
考え方等、
教えて頂けたら幸いです。

お礼日時:2005/03/06 20:01

説明します。



今回は、選択法です。

先頭の要素と、2番目から最後までの要素を順に比較し、先頭の要素より小さければ、先頭の要素と入れ替える。
2番目の要素と、3番目から最後までの要素を順に比較し、先頭の要素より小さければ、先頭の要素と入れ替える。
これの、繰り返しです。
    • good
    • 0

qsort関数を調べてみてください。

    • good
    • 0

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