最长线段
题目描述:
给你N对点的坐标,输出最长线段的编号及长度
编号从1开始
输入格式:
第一行,整数N(N<30),表示有N对坐标。
以下N行,每行有4个整数,分别表示两个点的坐标:x1,y1,x2,y2(均小于200)。
输出格式:
两行,第一行为最长线段的编号,第二行为最长线段的长度(保留两位小数)。
示例:
输入:
3
1 2 1 3
1 3 2 5
3 3 9 9
输出:
3
8.49
我的代码是这样的,对了2个样,例,错3个,哪位能帮我改一下,谢谢!
#include<bits/stdc++.h>
using namespace std;
double sqr(double x1,double y1,double x2,double y2)
{
double len;
len=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
return len;
}
int main()
{
double x1,y1,x2,y2,n,s,line=0;
cin>>n;
while(n--)
{
cin>>x1>>y1>>x2>>y2;
if(s<sqr(x1,y1,x2,y2))
{
line++;
s=sqr(x1,y1,x2,y2);
}
}
cout<<line<<endl;
printf("%.2lf",s);
return 0;
}