こちらは配列の要素を大きい順にソートするコードです。ifの括弧内でどのような処理が行われているか教えていただきたいです。お願いいたします。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
こなn

こちらは配列の要素を大きい順にソートするコードです。ifの括弧内でどのような処理が行われているか教えていただきたいです。お願いいたします。

#1

投稿記事 by こなn » 3年前

コード:

#include <stdio.h>
#define NUM 5
int main(void){
    // Your code here!
    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;
              }
          }
    }
for(j=0;j<NUM;j++){
         printf("%d番目の人の点数は%dです。\n",j+1,test[j]);
     }
}

box
記事: 2002
登録日時: 13年前

Re: こちらは配列の要素を大きい順にソートするコードです。ifの括弧内でどのような処理が行われているか教えていただきたいです。お願いいたします。

#2

投稿記事 by box » 3年前

自分がコンピューターになったつもりで、
1行ずつ実行してみてはどうでしょう。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
あたっしゅ
記事: 663
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: こちらは配列の要素を大きい順にソートするコードです。ifの括弧内でどのような処理が行われているか教えていただきたいです。お願いいたします。

#3

投稿記事 by あたっしゅ » 3年前

https://detail.chiebukuro.yahoo.co.jp/q ... 1230272371
実行した結果 x と y が入れ替わるというのはなんとなくわかったので... - Yahoo!知恵袋(ja)

https://9cguide.appspot.com/c_swap.html
SWAP マクロ - 苦しんで覚えるC言語(ja)
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

返信

“C言語何でも質問掲示板” へ戻る