掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
表の中の数字を大きい順から並び替えるには? (ID:70461)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
TRACEはprintfと同じ。表示する場所が違うだけ。 tmpはGと同じ用途。tmpが2箇所にあるのは間違え。 各科目をどう並び替えるのか? 科目の並び替えなんて必要ないのでは。 文字列をあいうえお順に並び替えるなんて無理。 合計点だけ並び替えても名前もそれと同じにならないと無意味。 合計点を並び替えた後に名前を並び替えるのは無意味。 合計点の並び替えと同時に名前を並び替える 文字列の入れ替えは面倒なのでやりたくない。 namae[1]は山田君。 goukei[1]は山田君の合計点。 つまり1は山田君の番号。 narabi[1]は最も合計点の高い人の番号5になる。 narabi[8]は最も合計点の低い人の番号4になる。 char tmpNamae[5]; for(i=1;i<n-1;++i){ for(j=i+1;j<n;++j){ if(goukei[i]<goukei[j]){ G=goukei[j]; goukei[j]=goukei[i]; goukei[i]=G; strcpy(tmpNamae,namae[j]); strcpy(namae[j],namae[i]); strcpy(namae[i],tmpNamae); } } } for(i=1;i<n;++i){ printf("%s\t%6f\n",namae[i],goukei[i]); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.