杭电ACM2016题怎么一直wrong answer……

发布网友 发布时间:2024-10-19 19:11

我来回答

4个回答

热心网友 时间:2024-10-23 01:07

是HDU2014吧。。
你的代码这样改就AC乐。。
汗~! 无语,才发现我用G++提交AC了,用C提交就错了。。
汗~! 我试了下,你原来的代码用G++提交也也AC了。。
偶也不知道原因。。
杭电的OJ的各种编译器很乱。。
楼主自己去提交下试试吧。。
#include<stdio.h>
int main()
{
int n,i,max,min;
double z,a[100]; //acm里尽量用double,几乎不用float
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
scanf("%lf",&a[i]);
max=min=1;
for(i=2;i<=n;i++)
{
if(a[i]>a[max])max=i;
if(a[i]<a[min])min=i;
}
for(z=0,i=1;i<=n;i++)
if((i!=max)&&(i!=min))z+=a[i];
z=z/(n-2);
printf("%.2lf\n",z);
}
return 0;
}
这题可以不用开数组。。
我的AC代码。。
#include<stdio.h>
int main()
{
int n,i;
double a,sum;
double min,max;
while(scanf("%d",&n)!=EOF)
{
scanf("%lf",&a);
min=max=sum=a;
for(i=1;i<n;i++)
{
scanf("%lf",&a);
sum+=a;
if(min>a)
min=a;
if(max<a)
max=a;
}
printf("%.2lf\n",(sum-min-max)/(n-2));
}
return 0;
}

热心网友 时间:2024-10-23 01:07

#include<iostream>
using namespace std;
int a[100];
int main()
{
int i,n;
while(cin>>n)
{
if(n<=0 || n>100)
{ exit(0); }
for(i=0;i<n;i++)
{cin>>a[i];}
int min=a[0],j=0,t;
for(i=1;i<n;i++)
{if(a[i]<min)
{ min=a[i];j=i; }
}
if(j!=0)
{ t=a[j];
a[j]=a[0];
a[0]=t;
}
for(j=0;j<n-1;j++)
{cout<<a[j]<<" ";}
cout<<a[n-1]<<endl;
}
return 0;
}
自己试试吧,哈··················

热心网友 时间:2024-10-23 01:08

#include<iostream>
#include<vector>
using namespace std;
int max(int,int);
int min(int,int);
int main()
{
vector<float> ivec;
int n,x,m,g=0;
float k;
while(cin>>n)
{ g++;
float p=0,sum=0;
float q=100;
for(m=1;m<=n;m++)
{
cin>>x;
p=max(p,x);
q=min(q,x);
sum+=x;
}
k=(sum-p-q)/(n-2)*1.00f;
ivec.push_back(k);
}
for(vector<int>::size_type ix=0;ix<g;ix++)
{
cout.setf(ios::fixed);
cout.precision(2);
cout<<ivec[ix]<<endl;
}
return 0;
}
int max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
int min(int c,int d)
{
if(c>d)
return d;
else
return c;
}
我不会C,现在还没有学,这个是C++的,你可以看看,挺好懂的

热心网友 时间:2024-10-23 01:08

#include<stdio.h>
#include<math.h>
void main()
{
int i,n,min,a[100],k,t;
while(scanf("%d",&n)!=EOF)
{
t=0;
if(n==0)
break;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
min=a[0];
for(i=0;i<n;i++)
{
if(min>a[i])
{
min=a[i];
t=i;
}
}
k=a[0];
a[0]=a[t];
a[t]=k;
for(i=0;i<n-1;i++)
printf("%d ",a[i]);
printf("%d\n",a[i]);
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com