输出的第最高分和最低分三个值为什么不对

img

img

max 和 min 都要在各自的第一层循环内,重新赋值,不然会影响下一个科目的判断

max = a[0][i];

min = a[0][i];

如有帮助,欢迎采纳哈~

for里面每次都要初始化一下啊,初始化为a[0][i],要不然下次循环比较还是用了上次的值,给你发了这个你试下

img

你这个逻辑是不对的,max和min在第一门课比较完后没有清零,以输入的成绩为例,第一门课比较完,max=96,min=78,printf结果正确,k和p重新置0,第二门比较后,max=99,min=78没变,printf结果也刚好正确,到第三门课,max=99,min=66,max中的if条件不成立,k=0,输出为1,此时,而min中的if成立,prinf结果就是max对,min不对;
你在k=0下面加一行max=0,在p=0下面加一行min=0试试,前提是所有成绩都大于0