用c语言编写一程序求任意一点(x0,y0)到直线2x-y+10=0的距离。

求C大神帮忙!谢谢

Ax+By+C=0坐标(Xo,Yo),,那么这点到这直线的距离就为:
│AXo+BYo+C│/√(A²+B²)

#include <stdio.h>
#include <math.h>

double getDis(double x0, double y0)
{
    double y = 2*x0-y0+10;
    if (y < 0)y = -y;
    return y / sqrt(5.0);
}

int main( )
{
    double x0, y0;
    scanf ("%lf%lf", &x0, &y0);
    double dis = getDis(x0, y0);
    printf ("%f\n", dis);
    return 0;
}

追问

if (y < 0)y = -y;这句是什么意思?

追答

就是如果y是负数,就把y取他的相反数,变成整数,达到取绝对值的效果

追问

能解释一下为什么运行结果有那么多位吗?

追答

亲,自己输入两个数字,不需要括号和逗号

追问

哦哦,成功了,谢谢大神

温馨提示:内容为网友见解,仅供参考
无其他回答

关于一次函数的几个经典问题
P(x0,y0)点到直线Ax+By+C=0的距离公式为:d=[Ax0+By0+C的绝对值]\/[(A^2+B^2)的算术平方根]。如求点P(-1,2)到直线2X+Y-10=0的距离:X0=-1,Y0=2,A=2,B=1,C=-10代入公式,d=[2*(-1)+1*2-10的绝对值]\/根号[2*2+1*1]=10\/根号5 方法很多。这里介绍一般的。

C语言中,一题给出一函数,然后要求编一程序,输入一个X值,输出Y值.
if(1<=x&&x<10) y=2*x-1;else if(x>=10) y=3*x-11;printf("x=%d,y=%d\\n",x,y);}

用C语言编:有一个函数Y={X (X<1);2X-1 (1≤X<10);3X-1 (X≥10)写一...
回答:#include<stdio.h> void main() { float x,y; scanf("%f",&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=3*x-1; printf("%f",y); }

点P(x, y, z)到直线的距离怎样求
点P(x0,y0,z0)到直线{A1x+B1y+C1z+D1=0 A2x+B2y+C2z+D2=0 距离的一个公式:d=|(A1x0+B1y0+C1z0+D1)n→2-(A2x0+B2y0+C2z0+D2)n→1||n→1×n→2|其中n→i={Ai,Bi,Ci},(i=1,2)空间点到直线的方程是:(x-x0)\/a=(y-y0)\/b=(z-z0)\/c。(1)理解点到直线...

用C语言编方程组: x+y=7 2X+Y=10 如下
编程 不是 列方程组 而是 编写 解方程的过程的(就是所谓的算法)方程需要你自己解出通用表达式 这样的二元一次 方程不需要编程的 只能这样写 { y=4 ;x=7-y;}

点与线的距离的公式是什么?
直线与直线的距离公式:1、当两直线平行时:L1:ax+by+c=0L2:ax+by+d=0距离=|c-d|\/√(a^2+b^2)2、当两直线不平行时:距离=0点到线的距离公式直线方程:ax+by+c=0点的坐标(x0,y0)则点到线的距离公式:|ax0+by0+c|\/√(a^2+b^2)...

求救。c语言,有一个函数y=x(x<1),y=2x-1(1<=x<10),y.=3x-11(x>=10...
char X[4];int x = 0 , y = 0;printf("请输入X值:");scanf("%s",X);x = atoi((char *)X);if(x < 1)y = x;else if(x < 10 && x >= 1)y = (2 * x - 1);else if(x >= 10)y = 3 * x - 11;printf("Y的值为:%d\\n",y);

C语言程序设计,求答案。万分感谢!
printf("%c\\n",char(c+32));else printf("what you input is not a letter! ");return 0;} 第二题的:include<stdio.h> int main(){ int x,y;printf("Please input your number x:\\n");scanf("%d",&x);if(x>-1)y=2*x;else if(x<-1)y=4+x;else y=3;printf("%d"...

怎么求点到线的距离?
4、一般式:对于一条直线,如果已知其斜率k1和k2以及任意一点(x0,y0),那么这条直线可以用一般式表示为ax+by+c=0。其中,a、b、c是直线的系数,满足ak1+bk2=0且ax0+by0+c=0。一般式可以表示任意一条直线,包括与坐标轴垂直的直线和倾斜角为90°的直线。有关直线斜截式方程的内容 1、...

C语言编写程序:Y=X(X<1),Y=2X-1(1=<X<10),Y=3X-11(X>=10)输入一个X值...
include<stdio.h> void main(){int x,y;scanf("%d",&x);if(x<1) y=x;if(x<10 && x>=1) y=2*x-1;if(x>=10) y=3*x-11;printf("y=%d\\n",y);}

相似回答