杭电ACM提示Presentation Error
题目意思是先输入一个数,代表有几列,然后输入格列的数,输出至少要几步能把每一列平齐。输入0结束例如:INPUT:65241750out:Set#1Theminimumnu...
题目意思是先输入一个数,代表有几列,然后输入格列的数,输出至少要几步能把每一列平齐。输入0结束
例如:INPUT:
6
5 2 4 1 7 5
0
out:Set #1
The minimum number of moves is 5.
以下是我的代码
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int Average=0,num=0,sum[100]={0},moon[100]={0},a[100]={0},i=0,k=0,j=0,last=0;
while(cin>>num)
{
if(num==0)
break;
for(;j<num;j++)
{
cin>>a[j];
sum[i]+=a[j];
}
j=0;
Average=sum[i]/num;
for(;j<num;j++)
{
moon[i]+=int(fabs(double(Average-a[j])));
}
i++;
for(;k<j;k++)
a[k]=0;
j=0;
last++;
}
for(k=0;k<last;k++)
{
cout<<"Set #"<<k+1<<endl;
cout<<"The minimum number of moves is "<<moon[k]/2<<".";
if(k+1<last)
cout<<endl<<endl;
}
return 0;
}
提交上去说是Presentation Error
如何解决? 展开
例如:INPUT:
6
5 2 4 1 7 5
0
out:Set #1
The minimum number of moves is 5.
以下是我的代码
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int Average=0,num=0,sum[100]={0},moon[100]={0},a[100]={0},i=0,k=0,j=0,last=0;
while(cin>>num)
{
if(num==0)
break;
for(;j<num;j++)
{
cin>>a[j];
sum[i]+=a[j];
}
j=0;
Average=sum[i]/num;
for(;j<num;j++)
{
moon[i]+=int(fabs(double(Average-a[j])));
}
i++;
for(;k<j;k++)
a[k]=0;
j=0;
last++;
}
for(k=0;k<last;k++)
{
cout<<"Set #"<<k+1<<endl;
cout<<"The minimum number of moves is "<<moon[k]/2<<".";
if(k+1<last)
cout<<endl<<endl;
}
return 0;
}
提交上去说是Presentation Error
如何解决? 展开
3个回答
展开全部
这个错误说明你的程序是对的,只是输出的格式是有误。你没看到题目,每2个测试数据才空一行,故最后那个是只要一个回车就行了。
把main函数里面的:
printf("%s\n\n",ch[i]);
改为:
printf("%s\n",ch[i]);
if(i!=count-1)
printf("\n");
这样就能AC了~~
把main函数里面的:
printf("%s\n\n",ch[i]);
改为:
printf("%s\n",ch[i]);
if(i!=count-1)
printf("\n");
这样就能AC了~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PE是说输出格式错误
我看你有这个语句cout<<endl<<endl;
应该是输出的回车多了,发一下题号,或者自己检查一下回车是不是输出多了~~
我看你有这个语句cout<<endl<<endl;
应该是输出的回车多了,发一下题号,或者自己检查一下回车是不是输出多了~~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-10-04
展开全部
题号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询