最近刚学了函数,在洛谷上做了一道入门题,纯属分享。
目录
题目描述
给出平面坐标上不在一条直线上三个点坐标 (x1,y1),(x2,y2),(x3,y3)(x1,y1),(x2,y2),(x3,y3),坐标值是实数,且绝对值不超过 100.00,求围成的三角形周长。保留两位小数。
对于平面上的两个点 (x1,y1),(x2,y2)(x1,y1),(x2,y2),则这两个点之间的距离 dis=\sqrt{(x2-x1)^2+(y2-y1)^2}dis=(x2−x1)2+(y2−y1)2
输入格式
输入三行,第 ii 行表示坐标 (x_i,y_i)(xi,yi),以一个空格隔开。
输出格式
输出一个两位小数,表示由这三个坐标围成的三角形的周长。
输入输出样例
输入 #1复制
0 0 0 3 4 0
输出 #1复制
12.00
说明/提示
数据保证,坐标均为实数且绝对值不超过 100,小数点后最多仅有 33 位。
######################
知识有限,就多弄了几个变量,函数juli返回值需要double,开方用sqrt,需要引用头文件,#include<math.h>,函数返回dis,即可求出三角形周长。
#include<stdio.h>
#include<math.h>
double juli(double a,double b,double i,double j)
{
double dis=0.0;
dis=sqrt((a-i)*(a-i)+(b-j)*(b-j));
return dis;
}
int main()
{
double a1,a2,a3,b1,b2,b3;
scanf("%lf %lf %lf %lf %lf %lf",&a1,&b1,&a2,&b2,&a3,&b3);
double ret1=0.0;
double ret2=0.0;
double ret3=0.0;
ret1=juli(a1,b1,a2,b2);
ret2=juli(a1,b1,a3,b3);
ret3=juli(a2,b2,a3,b3);
double d=0.0;
d=ret1+ret2+ret3;
printf("%.2lf",d);
return 0;
}
欢迎大神提出建议改进代码,萌新勿喷求求了