你的计算语句是双重循环,那么打印也要是双层循环,改成:for(i= 0;i<5;i++){ for(j =0;j<3;j++) { printf("7d",stu[i].score[j]); printf("10.2f"\n,stu[i].avr); }}