杭电acm2535我哪里错了 网址http://acm.hdu.edu.cn/showproblem.php?pid=2535

#include<stdio.h>
int main()
{
int n,a[200],i,j,t,sum;
while(scanf("%d",&n)!=EOF&&n)
{
sum=0;
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
{
for(j=i;j<=n-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
n=n/2+1;
for(i=1;i<=n;i++)
sum=sum+a[i]/2+1;
printf("%d\n",sum);
}
return 0;
}

排序算法错了,你这个冒泡法写错了。
改为:
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
就行了,结果能AC。
温馨提示:内容为网友见解,仅供参考
无其他回答

Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答
大家正在搜