for(i=0;i<4;i++) { scanf("%d",pnum+i);//输入学号 for(j=0;j<5;j++); { scanf("%f",psco+5*i+j);//以逗号为间隔输入学生成绩 } } for(j=0;j<5;j++);这个for后面多余了个分号,结果内循环只是执行了次空语句,然后程序在执行完第一次内循环后直接忽略了scanf("%d",pnum+i);//输入学号 然后往下,直到退出。。。。