先说思路:首先就是定义一个距离函数dis来计算两点之间的距离,之后再分别将三点中的两点输入分别计算出距离,最后求和就好,难点估计在如何实现分别取出两点(其实把脑子扔了就好,干嘛要用数组来为难自己,直接一个个单独算出求和就好)。
以下是代码实现:
#include<stdio.h>
#include<math.h>
double dis(double x1,double y1,double x2,double y2){
double dis;
dis=sqrt(pow(fabs(x1-x2),2)+pow(fabs(y1-y2),2));
return dis;
}
int main(){
double x1,y1,x2,y2,x3,y3;
double sum;
scanf("%lf %lf",&x1,&y1);
scanf("%lf %lf",&x2,&y2);
scanf("%lf %lf",&x3,&y3);
sum=dis(x1,y1,x2,y2)+dis(x1,y1,x3,y3)+dis(x2,y2,x3,y3);
printf("%.2lf",sum);
return 0;
}
PS:这里的pow其实可有可无,直接乘或许会更方便,fabs()其实对于题目给出的示例也是可以省略的,但为了代码的通用性最好不要省。否则换一个数据,你可能又得考虑前一个输入的是x1,还是x3了。