其实只要统计被借牌后不足平均数的牌堆就可以了。 这里是重头开始借牌的。 还是水题。。 水题都水不过别人。。。 #include <stdio.h> int main() { int arr[101]; int n; int sum,i,avg,r; int count; while (scanf("%d", &n)!=EOF) { sum = 0; count=0; for (i=0;i<n;i++) { scanf("%d", &arr[i]); sum+=arr[i]; } avg = sum/n; r = arr[0] - avg; for (i=1;i<n;i++) { if (r>0) { count++; r = r+arr[i]-avg; } else if (r==0) { r = r+arr[i]-avg; } else if (r<0) { count++; r = r+arr[i]-avg; } } printf("%d/n", count); } return 0; }