質問です
下記のコードを分かりやすく解説お願いします
初心者です
#include ‹stdio.h›
#define NUM 5
int main(void)
{
int test[NUM];
int tmp;
int i,j,s,t;
printf("%d人の点数を入力してくださち。¥n",NUM);
for(i=0
; i<NUM; i++){
scanf("%d", &test[i];
}
for(s =0; s<NUM-1; s++) {
for(t=s+1; t<NUM; t++){
if(test[t] >test[s]){
tmp = test[t];
test[t] = test[s];
test[s] = tmp;
}
}
}
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
括弧の対応が取れてない箇所がちらほらとか
ソート結果を出力してないとかいろいろ変だけど
選択ソートの降順版だね。
まず、test[0] が test[0]から test[4] までで1番大きな数を
になるように、test[0]~test[4] の内容を交換してゆく。
これでtest[0]が最大の値になったので、同じことを
test[1]~test[4] で行い、test[1] が test[1]~test[4] の中で
最大になるようにする。
以上を test[0] から test[3] までについて繰り返せば、
数字が降順に並ぶ。
配列が大きいと O(n^2)オーダーで遅くなるので
大きな配列のソートアルゴリズムとしては実用性なし。
でも Excelの数十枚のシートのソートとかくらいならこれで十分(^^;)
大きなデータのソートアルゴリズムのサブのソートアルゴリズム
としてはシンプルで速いので実用性あり。学んでおいて
損はないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C pointer? or... 2 2022/03/29 00:47
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C++ と、 1 2022/11/07 23:45
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
std::set<int> で、ある値が何...
-
「指定されたキャストは有効で...
-
数字列を3桁ごとにカンマで区切...
-
比較回数と交換回数表示について
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
実数の整数部,小数部の取得
-
c言語
-
C言語
-
卒業研究でよく分からないとこ...
-
main関数以外での結果の表示?
-
各桁の和を返す関数
-
C言語での引数の省略方法
-
(int *)の意味
-
C++でvectorにテキストファイル...
-
if文について
-
プログラミング c言語
-
マルチスレッドでバグが発生します
-
【C++】関数ポインタの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
std::set<int> で、ある値が何...
-
C言語 エラーの原因がわからな...
-
c言語
-
system関数がうまくいかない
-
C++でvectorにテキストファイル...
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
return 1L
-
「{ } で囲むだけ」は正しい?
-
(マルチスレッド)_beginthrea...
-
PowerShellがうまくいかない
-
このプログラミング誰か教えて...
おすすめ情報