
No.3ベストアンサー
- 回答日時:
すごい簡単な方法を挙げてみますね。
最初の身長から考え、1番目ならば1番目と2番目について考えます。
高い順ですから、1番目より2番目のほうが大きい場合に入れ替えを行います。次に2番目と3番目について考え、2番目よりも3番目のほうが大きければ入れ替えを行います。このように最後まで行うと、必ず10番目に最小値がきます。
次のループでは9番目まで行うと、1番目から9番目の中で最小値、かつ10番目よりも大きい値が決まります。
このように0番目まで繰り返していくと高い順に並べることができます。
サンプルとして下にプログラムを示しておきます。
アルゴリズムについては上の方法で行いました。
自分の中では最も簡単な方法だと思うので、参考にしていただいたら光栄です。
#include <stdio.h>
void main(void)
{
double height[10];
int i,j;
double k;
printf("10人分の身長を入力してください\n");
for(i=0;i<10;i++)
{
printf("%d人目=",i);scanf("%lf",&height[i]);
}
for(i=8;i>=0;i--)
{
for(j=0;j<=i;j++)
{
if(height[j]<height[j+1])
{
k=height[j];
height[j]=height[j+1];
height[j+1]=k;
}
}
}
printf("----ソート結果----\n");
for(i=0;i<10;i++)
{
printf("%lf\n",height[i]);
}
}
一応サンプルですが、自分で考えることも大切ですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンパイルエラーについて
-
H8マイコンCでprintf/scanfが使...
-
「%n」や「%S」は何故恥ずかし...
-
C言語プログラミング
-
C言語の勉強しています。すみま...
-
C言語で四則演算を使って10を作...
-
ピラミッド表示プログラム。
-
ホームページをC言語で作りたい...
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
値差の%計算方法について
-
数字以外が入力されたらエラー...
-
「Aに対するBの割合」と「Aに対...
-
VB6.0での小数点の扱いについて
-
【C++】関数ポインタの使い方
-
c languageで 簡単な質問があ...
-
ある商品のロス率を5%見込み、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
コンパイルエラーについて
-
CTRL+Dでループを抜けるには
-
Cプログラムについて
-
コマンドラインに出力した文字...
-
WM_CLOSEで閉じれないウィンド...
-
C言語の&に関する質問
-
すごろくに使用するサイコロ
-
文字と数字の判定について
-
printf( " %2d", p * q );
-
【C言語教えてください】sin波...
-
%P と %X の違い
-
C言語の勉強しています。すみま...
-
strcmp
-
c言語でAからZまでを表示する...
-
unsigned int型について
-
(C言語)めちゃくちゃな値にな...
-
printf で二進表示を行いたい。
-
プログラミング C言語 課題でプ...
-
c言語で2000年以降カレンダーを...
おすすめ情報