質問: total + score[i][j][k]; } sum[i][k]=total; } sum[2][k]=sum[0][k]+sum[1][k]; } /*出力する*/ /*??*/ } ※三次元配列のscoreの始めの[]は、0が前期成績、1が後期成績を格納する部分です。
回答: 全部見たわけではありませんが、気が付いた点を幾つか 1. int score[0][3][5],i,j,k; は int score[2][3][5],i,j,k; では? 2.合計を計算する部分で、score配列の要素が[2][3][5]しかないのに、 for(i=0;i<5;i++){ for(j=0;j<2;j++){ total=0; for(k=0;k<3;k++){ total = total + score[i][j][k]; となっている。 このままだと、iが4までループするため、score[4][1][2]をアクセスしてしまう。sum配列も同様に変な場所をアクセスしてしまいます。