有关ACM一道题,小明想当丑国的总统,丑国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 08:34:45

有关ACM一道题,小明想当丑国的总统,丑国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州
有关ACM一道题,
小明想当丑国的总统,丑国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州超过一半的选民支持小明,则他将赢得该州的支持.现在给出每个州的选民人数,请问小明至少需要赢得多少选民的支持才能当选?
输入格式
输入包含多组测试数据.
每组数据的第一行是一个整数N(1<=N<=101),表示丑国的州数,当N=0时表示输入结束.
接下来一行包括N个正整数,分别表示每个州的选民数,每个州的选民数不超过100.

输出
对于每组数据输出一行,表示小明至少需要赢得支持的选民数.
样例输入
3
5 7 5
0
样例输出
6
提示[+]
*** 提示已隐藏,点击上方 [+] 可显示 ***


我的程序:
#include "stdio.h"
int main()
{int n,i,d,l,t,sum,j,temp,e;
int a[110];
scanf("%d",&n);
for(d=n-1;d>=0;d--)
{scanf("%d",&t);
a[d]=(t/2)+1;
}
  scanf("%d",&l);


for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{if(a[i]>a[j])
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}}
for(sum=0,e=0;e<n/2+1;e++)
{
  sum=sum+a[e];}
printf("%d\n",sum);
return 0;}



在vc可以输出,在ACM系统的出错提示(不知道是什么意思,是我没输出?),求大神找原因

有关ACM一道题,小明想当丑国的总统,丑国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州
题目包含多组输入数据.
比如,程序的输入可能是这样
3
5 7 5
5
5 5 3 6 6
0
而按你的程序只能输出第一组的结果.最后面那个0代表输入结束.