09/06/30 12:02:47
>>186 >>238 成績一覧(選択ソート) 199が選択ソートなので再UP
#include <stdio.h>
#define n 9 /* 生徒の数+1 */
#define m 7 /* 科目の数+2 */
int main()
{
int k, p, S;
int index[n][2];
/* ここからは変更無し */ //char namae[n][5]
/* ここまでは変更無し */ //printf("%6.0f\n",goukei[i]); }
for(k=m-2; k>=0; k--) { /* 科目数のループ */
printf("\n%sの点数で並び替え\n", kamoku[k+1]);
if(k == m-2) for(i=1; i<n; i++) index[i][0] = i, index[i][1] = goukei[i];
else for(i=1; i<n; i++) index[i][0] = i, index[i][1] = seiseki[i][k];
/* 作業用の配列を並び替える(選択ソート) */
for(i=1; i<n-1; i++){
p = i;
for(j=i; j<n; j++)
if(index[p][1] < index[j][1]) p = j;
S = index[i][1], index[i][1] = index[p][1], index[p][1] = S;
S = index[i][0], index[i][0] = index[p][0], index[p][0] = S;
}
for(i=1; i<n; i++) { /* 生徒数のループ */
printf("%s", namae[index[i][0]]);
for(j=0; j<m-2; j++){ /* 科目数のループ */
printf("%6.0f",seiseki[index[i][0]][j]);
}
printf("%6.0f\n",goukei[index[i][0]]);
}
}
return 0;
}