杭电acm 1785 求解释

额。。题目太长了,就不复制了。。直接贴代码吧。。#include<cstdio>#include<cstring>#include<iostream>#include<c... 额。。题目太长了,就不复制了。。直接贴代码吧。。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
struct peo{
double x ;
double y ;
double d;
}po[105];
bool cmp( peo a,peo b)
{
return a.d>b.d;
}
int main()
{
int n,i,j,k;
double x[120],y[120],s;
while(scanf("%d",&n)!=EOF)
{
if(n<0)break;
for(i=0;i<n;i++)
{
scanf("%lf %lf",&po[i].x,&po[i].y);
s=sqrt(pow (po[i].x,2) + pow (po[i].y,2));
po[i].d=acos(po[i].x/s);/*为什么这里只能用acos而不能用asin或者atan?我试了把这句改成po[i].d=asin(po[i].y/s)提交后WA*/
}
sort(po,po+n,cmp);
for(i=0;i<n;i++)
{
printf("%.1lf %.1lf",po[i].x,po[i].y);
if(i!=n-1)
printf(" ");else printf("\n");
}
}
return 0;
}
展开
 我来答
ak504512803
2012-08-05 · 超过17用户采纳过TA的回答
知道答主
回答量:58
采纳率:100%
帮助的人:39.5万
展开全部
精度问题 .....
追问
为什么啊?
追答
也可能是OJ问题 ....    我也有各种奇怪的错误....   总之别太计较了  既然能过了 ... ACM多花点时间在算法上还好过 ....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式