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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelグラフのラベルオプションの並べ替えは可能ですか。セルの値を最後にしたいのですが。 1 2022/06/05 10:45
- 恋愛・人間関係トーク 以下の中から付き合う、結婚するときに重要だと思うものから順番に並べ替えてください。 1.顔 2.身長 1 2022/04/12 19:40
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- その他(Microsoft Office) Excel 2列分のDATAの並べ替え 1 2023/01/01 17:12
- Excel(エクセル) Excelのソート(並べ替え) 2 2022/05/15 22:54
- Excel(エクセル) Googleスプレッドシートの割合の関数と円グラフの並べ替えについて 1 2022/07/22 17:31
- その他(Microsoft Office) エクセルで串刺ししたシートの並べ替えをしたいです 4 2023/02/14 11:59
- その他(Microsoft Office) 逆順 3 2023/08/24 09:30
- Excel(エクセル) Excel 郵便番号順に並び変えたい 同じ番号が複数あるとき 4 2022/04/28 18:35
- その他(悩み相談・人生相談) 以下の中から付き合う、結婚するときに嫌だなー思うものから順番に並べ替えてください。 1.ブサイク 2 3 2022/06/07 08:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10個出力で改行したいのですが...
-
hit&bolwのプログラミングがで...
-
両替プログラムなど
-
strcmp
-
srand(time(NULL))の使い方
-
(構造体)双方向連結リストの作成!
-
C言語での、年複利の計算方法...
-
コマンドラインに出力した文字...
-
ifなんですが
-
筆算(加法)について
-
printf で二進表示を行いたい。
-
コンパイルエラーについて
-
c言語でAからZまでを表示する...
-
c言語で2000年以降カレンダーを...
-
WM_CLOSEで閉じれないウィンド...
-
球の体積と表面積を表示するプ...
-
cshの文字列操作(0埋め)
-
(C言語)西暦年月日を入力して...
-
C言語のfor文問題で・・・
-
ホームページをC言語で作りたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
既約分数の表示プログラム
-
printf で二進表示を行いたい。
-
8人分のテストの点数を入力し、...
-
printf( " %2d", p * q );
-
strcmp
-
CTRL+Dでループを抜けるには
-
4の倍数を論理演算で表す。。
-
%P と %X の違い
-
【C言語教えてください】sin波...
-
c言語でAからZまでを表示する...
-
cshの文字列操作(0埋め)
-
万年カレンダーのC言語プログラ...
-
コマンドラインに出力した文字...
-
scanfに文字が入力されたときに...
-
ホームページをC言語で作りたい...
-
改行について 1行に何個かづ...
-
コンパイルエラーについて
-
台形の面積を求めるプログラム
-
なぜgccはstdio.hをインクルー...
おすすめ情報