qiaoruiyu @ 2022-02-10 12:32:34
#include<iostream>
#include<math.h>
class distance{
private://类定义数据成员
int x1,x2,x3,y1,y2,y3;
int z=2;
int a ;
public:
int dis(){//成员函数
printf("输入第一个坐标") ;
scanf("%d%d",&x1,&y1) ;
printf("输入第二个坐标") ;
scanf("%d%d",&x2,&y2) ;
printf("输入第三个坐标") ;
scanf("%d%d",&x3,&y3) ;
a=sqrt(abs((x1 - x2) * (x1 - x2)) + abs((y1 - y2) * (y1 - y2)));
printf("%.2lf",a);
}
};
int main(){//主函数
distance d;
d.dis();
}```
by lucas_jy @ 2022-02-10 12:35:14
@qiaoruiyu
你这个printf("输入第…个坐标") ;
没有必要啊,应改为
#include<iostream>
#include<math.h>
class distance{
private:
int x1,x2,x3,y1,y2,y3;
int z=2;
int a ;
public:
int dis(){
scanf("%d%d",&x1,&y1) ;
scanf("%d%d",&x2,&y2) ;
scanf("%d%d",&x3,&y3) ;
a=sqrt(abs((x1 - x2) * (x1 - x2)) + abs((y1 - y2) * (y1 - y2)));
printf("%.2lf",a);
}
};
int main(){
distance d;
d.dis();
}
by 5k_sync_closer @ 2022-02-10 12:40:53
@qiaoruiyu 不是没有必要,是不能有。
算法竞赛中要求的输出格式中,不能有多余的内容,这也包括了“请输入整数 a 和 b” 这一类的提示用户输入信息的内容。若包含了这些内容,将会被认为是 Wrong Answer,即洛谷上的 WA。 --P1001
by Li2021 @ 2022-02-10 12:42:15
不要输出其他的东西,而且你这个只计算了一个点和另一个点的距离啊。。。
改成这样你试试
#include<iostream>
#include<math.h>
class distance{
private:
int x1,x2,x3,y1,y2,y3;
int z=2;
double a ;
public:
int dis(){
scanf("%d%d",&x1,&y1) ;
scanf("%d%d",&x2,&y2) ;
scanf("%d%d",&x3,&y3) ;
a=sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) + sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2)) + sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1));
printf("%.2lf",a);
}
};
int main(){
distance d;
d.dis();
}
by streaminging @ 2022-02-10 13:21:16
SSD
by qiaoruiyu @ 2022-02-14 11:47:07
@Li2021 谢谢啦??
by Zjxrhy @ 2022-02-19 20:18:17
@5k_sync_closer 大佬帮我也看一下好吗,全wa了,但我又觉得没啥错误,实在是看不出来了
#include<bits/stdc++.h>
using namespace std;
int main()
{
double x1,x2,x3,y1,y2,y3;
scanf("%lf %lf",&x1,&y1);
scanf("%lf %lf",&x2,&y2);
scanf("%lf %lf",&x3,&y3);
double s1,s2,s3;
s1=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
s2=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
s3=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y2-y3));
double ans=s1+s2+s3;
printf("%.2lf",ans);
return 0;
}