我的程序哪错了,老是AC不了?总是wrong anwser!!!

2025-01-03 16:28:21
推荐回答(3个)
回答1:

#include
#define N 50
using namespace std;
int main()
{
int n,i,s[N+1],j=0; //原s[N]
int ave; //原double abe
while((cin>>n) && n!=0) //原cin>>n; while(n!=0)
{
int sum=0,k=0;
for(i=1;i<=n;++i){
cin>>s[i];
sum+=s[i];
}
ave=sum/n;
for(i=1;i<=n;++i){
if(s[i]>ave)k+=s[i]-ave;
}
//你小子妈的眼睛就跟张屁眼上没区别,大小写区别看不见???!!!!!还有他TMD妈的可没说结尾补空行
//cout<<"set #"<<++j< cout<<(j>0?"\n":"")<<"Set #"<<++j< //删除cin>>n;
}
return 0;
}

回答2:

其他方面的特殊数据错误没仔细考虑,但是可以很明显看出来的错有一个:数组越界,s[N]下标范围是0-49,但是好几个循环的地方都有可能出现s[50],比如s[i]当i=n的时候,题目说了1≤n≤50,n是可以取到50的,这样就会越界。除了这个问题之外,不过系统提示WA的话应该还是有其他的问题没考虑到,比如特殊数据没考虑

回答3:

这句话的意思是每个case之间,并没说结尾。如果说结尾也补充空行后AC,只能说题设不严谨或者此话存在歧义ACM上题目原话跟结果不一致