C语言求两点间距离

输入两点坐标(x1,y1)与(x2,y2),计算并输出两点间距离... 输入两点坐标(x1,y1)与(x2,y2),计算并输出两点间距离 展开
 我来答
大野瘦子
高粉答主

2018-12-22 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:33.4万
展开全部

#include <math.h>

#include <stdio.h>

void main()

{

float x1, y1, x2, y2;

float d;

printf("请输入x1,y1,x2,y2,用空格隔开:\n");

scanf("%f %f %f %f", &x1, &y1, &x2, &y2);

d = sqrtf((x2 - x1) * (x2 - x1) +(y2 - y1) * (y2 - y1));

printf("两点间的距离为%.2f", d);

}

扩展资料:

c语言的基本运算的注意事项

一、运算顺序

1、算术表达式

用算术运算符将数据连接起来的式子,称为“算术表达式”。比如a + b、10 * 5等。如果表达式比较复杂的话,那么就要注意一下它的运算顺序。表达式的运算顺序是按照运算符的结合方向和优先级进行的。

2、结合方向

算术运算符的结合方向是从左到右。例如表达式2+3+4,先计算2+3。

3、 优先级

优先级越高,就越先进行运算,当优先级相同时,参照结合方向。下面是算术运算符的优先级排序:

负值运算符(-) > 乘(*)、除(/)、模(%)运算符 > 加(+)、减(-)运算符

例如表达式4+5*8/-2的计算顺序为:-、*、/、+,最后的结果是-16

4、小括号

如果需要先计算优先级低的可以使用小括号()括住,小括号的优先级是最高的!

例如4+5*8-2默认的计算顺序是:*、+、-

如果想先执行加法运算,就可以这样写:(4+5)*8-2,最后的结果都是不一样的。

二、关系运算符的使用注意

1、关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者

例如2==3>1 :先算3>1,条件成立,结果为1。再计算2==1,条件不成立,结果为0。因此2==3>1的结果为0。

2、关系运算符的结合方向为“从左往右”

例如4>3>2 :先算4>3,条件成立,结果为1。再与2比较,即1>2,条件不成立,结果为0。因此4>3>2的结果为0。

3、关系运算符的优先级小于算术运算符

例如3+4>8-2 :先计算3+4,结果为7。再计算8-2,结果为6。最后计算7>6,条件成立,结果为1。因此3+4>8-2的结果为1。

杉杉渤文
2018-03-30 · TA获得超过1.7万个赞
知道小有建树答主
回答量:93
采纳率:100%
帮助的人:2.4万
展开全部

Problem Description

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

Input

输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

Output

对于每组输入数据,输出一行,结果保留两位小数。

#include&lt;stdio.h&gt;

#include&lt;math.h&gt;

void main()

{int X1,X2,Y1,Y2;<br>double d;<br>printf("%d %d %d %d\n",X1,Y1,X2,Y2);

<br>while(scanf("%d %d %d %d\n",&amp;X1,&amp;Y1,&amp;X2,&amp;Y2)!=EOF)

<br>while(1)<br>{d=sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));<br>printf("%.2f\n",d);

1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

3、二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
neuq1234567
2012-12-11 · 超过29用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:74.7万
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
float x1,x2,y1,y2;
printf("请输入第一个点(形如x1,y1)\n");
scanf("%f,%f",&x1,&y1);
printf("请输入第二个点(形如x2,y2)\n");
scanf("%f,%f",&x2,&y2);
printf("两点间的距离为\n");
printf("%f\n",sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Xiinho
2010-07-12 · TA获得超过1279个赞
知道小有建树答主
回答量:776
采纳率:0%
帮助的人:759万
展开全部
#include<stdio.h>
#include<math.h>
void main()
{double X1,X2,Y1,Y2;//这里要为double型
double d;
while(scanf("%lf%lf%lf%lf",&X1,&Y1,&X2,&Y2)!=EOF)
{d=sqrt((double)((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)));
printf("%.2lf\n",d);
}
} //这样行了,多点练习就会熟悉了
//A过了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东站西楼
2019-10-29
知道答主
回答量:2
采纳率:0%
帮助的人:1323
展开全部
include<stdio.h>
#include<stdlib.h>
int main()
{
double x1,x2,y1,y2,d;
while(scanf("%lf %lf %lf",&x1,&x
2,&y1,&y2)!=EOF)
{
d=(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
d=pow(d,0.5);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式