#include<stdio.h> #include<math.h> double dist( double x1, double y1, double x2, double y2 ) { double dist; dist=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); return dist; } int main() { double x1,x2,x3,y1,y2,y3,d1,d2,d3,s,q; printf("请输入第一个坐标:\n"); scanf("%1f %1f",&x1,&y1); printf("请输入第二个坐标:\n"); scanf("%1f %1f",&x2,&y2); printf("请输入第三个坐标:\n"); scanf("%1f %1f",&x3,&y3); d1=dist(x1,y1,x2,y2); d2=dist(x2,y2,x3,y3); d3=dist(x1,y1,x3,y3); printf("%f %f %f\n",d1,d2,d3); if((d1+d2>d3)&&(d1+d3>d2)&&(d2+d3>d1)) { q=(d1+d2+d3)/2; s=sqrt(q*(q-d1)*(q-d2)*(q-d3)); printf("面积为%.2f",s); } else { printf("输入的三个点无法构成三角形!"); } return 0; }
时间: 2024-04-18 09:33:16 浏览: 129
这是一个C语言程序,用于计算三角形的面积。程序中定义了一个名为dist的函数,用于计算两点之间的距离。函数的返回值类型是double,表示返回的距离值是一个浮点数。在主函数中,通过调用dist函数计算了三个边长d1、d2、d3,并根据三角形边长的条件判断是否能够构成一个三角形。如果可以构成三角形,则计算并输出三角形的面积s。如果不能构成三角形,则输出相应的提示信息。整个程序的返回值类型是int,表示程序执行结束后返回的值是一个整数。
相关问题
本题要求实现一个函数,对给定平面任意两点坐标(x 1 ,y 1 )和(x 2 ,y 2 ),求这两点之间的距离。 函数接口定义: double dist( double x1, double y1, double x2, double y2 ); 其中用户传入的参数为平面上两个点的坐标(x1, y1)和(x2, y2),函数dist应返回两点间的距离。 裁判测试程序样例: #include <stdio.h> #include <math.h> double dist( double x1, double y1, double x2, double y2 ); int main() { double x1, y1, x2, y2; scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2); printf("dist = %.2f\n", dist(x1, y1, x2, y2)); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: 10 10 200 100
实现代码如下:
```
#include <stdio.h>
#include <math.h>
double dist(double x1, double y1, double x2, double y2) {
double dx = x2 - x1;
double dy = y2 - y1;
double distance = sqrt(dx * dx + dy * dy);
return distance;
}
int main() {
double x1, y1, x2, y2;
scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2);
printf("dist = %.2f\n", dist(x1, y1, x2, y2));
return 0;
}
```
在函数dist中,先计算出两点在x轴和y轴上的距离,然后根据勾股定理计算出两点之间的距离,最后返回距离值。在main函数中,读入四个double类型的变量,将它们作为参数传递给dist函数,并输出dist函数的返回值。
给定平面任意两点坐标(x1, y1)和(x2, y2),求这两点间的距离(保留2位小数)。要求定义和调用函数dist(x1,y1,x2,y2) 计算两点间的距离。c语言
以下是C语言代码实现:
```
#include <stdio.h>
#include <math.h>
double dist(double x1, double y1, double x2, double y2) {
return sqrt(pow(x1-x2, 2) + pow(y1-y2, 2));
}
int main() {
double x1, y1, x2, y2;
printf("请输入第一个点的坐标(x1, y1):");
scanf("%lf %lf", &x1, &y1);
printf("请输入第二个点的坐标(x2, y2):");
scanf("%lf %lf", &x2, &y2);
printf("两点之间的距离是:%.2lf\n", dist(x1, y1, x2, y2));
return 0;
}
```
在以上代码中,我们定义了一个函数dist,它接受四个参数x1, y1, x2, y2,分别表示两个点的横纵坐标。函数内部使用勾股定理来计算两点间距离,最终返回计算结果。在主函数中,我们首先通过scanf从控制台读入两个点的坐标,然后调用dist函数计算两点间距离,并输出结果。运行程序,即可得到两点之间的距离。
阅读全文