对于评委打分一致的情况下:假设5个评委打分为:10 10 10 10 10  按你代码思路先排序后:10 10 10 10 10  在给a[1]加一变为:10 11 10 10 10; 你sum求和后变为51; 再排序后变为:10 10 10 10 11//你不排序后再减sum就会变成31,实际sum=30 sum - a[0]-a[n-1]; 得到sum = 30; //上面这种案例相当于打分数组的max分和min分相等,你可以先排序,把a[1]~a[n-2]加起来; 如果不是这种情况,就sum+1;还有一种情况就是最小值只有一个,其他都是最大值(相等),sum不用加一,应该是这样