09/06/29 23:20:13
>>186 >>200 成績一覧(バブルソート)
#include <stdio.h>
#define n 9 /* 生徒の数+1 */
#define m 7 /* 科目の数+2 */
int main()
{
int k, 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)
for(j=2;j<n+1-i;++j)
if(index[j-1][1] < index[j][1]){
S = index[j][1], index[j][1] = index[j-1][1], index[j-1][1] = S;
S = index[j][0], index[j][0] = index[j-1][0], index[j-1][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;
}