很简单的一道题,废话就不多说了,不过总感觉我的代码有些长了,虽然题简单,代码也简单
#include<stdio.h>
typedef struct
{
int num;
int seat;
}value;
int main()
{
value s1,e1;
value *s;
value *e;
s=&s1;
e=&e1;
int i,n,a[32],sum;
scanf("%d",&n);
while(n!=0)
{
sum=0;
e->seat=n;
s->seat=1;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
if(sum%2!=0)
printf("No equal partitioning.\n");
else
{
s->num=e->num=sum/2;
while(s->num>0)
s->num-=a[s->seat++];
while(e->num>0)
e->num-=a[e->seat--];
if(s->num==0&&e->num==0)
printf("Sam stops at position %d and Ella stops at position %d.\n",--s->seat,++e->seat);
else
printf("No equal partitioning.\n");
}
scanf("%d",&n);
}
return 0;
}