水题。一开始想复杂了。其实就是
当相等时输出各自的位置,否则输出。。。。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int pos[31], i, n, sum, flag, temp;
while(scanf("%d", &n) != EOF && n)
{
sum = 0; flag = 1; temp = 0;
for(i = 1; i <= n; i++)
{
scanf("%d", &pos[i]);
sum += pos[i];
}
if(sum % 2 != 0)
{
printf("No equal partitioning.\n");
continue;
}
sum /= 2;
for(i = 1; i <= n; i++)
{
temp += pos[i];
if(temp == sum)
break;
if(temp > sum)
{
flag = 0;
break;
}
}
if(!flag)
printf("No equal partitioning.\n");
else
printf("Sam stops at position %d and Ella stops at position %d.\n", i, i+1);
}
return 0;
}