⑴ c语言编程问题:使用函数计算两点间的距离。
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
#include<stdio.h>
#include<math.h>
void main()
{
float x1,x2,y1,y2;
printf("请输入一组数据:");
while(~scanf("%f%f%f%f",&x1,&y1,&x2,&y2))//开始读取输入的数,知道文件结束。
{
printf("两点间的距离为:%.2f ",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
printf("请输入一组数据:");
}
}
(1)c语言用指针算二维空间点的距离扩展阅读:
c语言基本运算
一:算术运算符
算术运算符非常地简单,就是小学数学里面的一些加减乘除操作。不过呢,还是有一些语法细节需要注意的。
一、加法运算符+
int a=10;
(此处空一行)
int b=a+5;
在第3行利用加法运算符+进行了加法运算,再将和赋值给了变量b,最终变量b的值是15
二、减法运算符或负值运算符-
int b=10-5;
(此处空一行)
int a=-10;
1、在第1行利用减法运算符-进行了减法运算,再将差赋值给了变量b,最终变量b的值是5
2、在第3行中,这个-并不是什么减法运算符,而算是一个负值运算符,-10代表的是负十
三、乘法运算符*
int b=10*5;
注意:乘法运算符并不是x或者X,而是星号*。变量b最终的值是50。
四、除法运算符/
double a=10.0/4;
double b=10/4;
(此处空一行)
printf("a=%f,b=%f ",a,b);
注意:除法运算符并不是÷,而是一个正斜杠/
⑵ 怎样用C语言求两点间的距离
定义一个二维数组Dist[2][10],假设有两点a(2,3),b(5,6),将他们的坐标放入数组中Dist[0][0]=2;Dist[0][1]=5;Dist[1][0]=3;Dist[1][1]=6;
他们间的距离就是double x=(Dist[0][0]-Dist[0][1])*(Dist[0][0]-Dist[0][1])+(Dist[1][0]-Dist[1][1])*(Dist[1][0]-Dist[1][1]);
double distance = Math.sqrt(x);
⑶ 编写C语言程序,计算任意两点之间的距离
#include <stdio.h>
#include<math.h>
void main(){
double x1,x2,y1,y2,sum;
printf("请输入A点的横坐标:");
scanf("%2f",&x1);
printf("请输入A点的纵坐标:");
scanf("%2f",&y1);
printf("请输入B点的横坐标:");
scanf("%2f",&x2);
printf("请输入B点的纵坐标:");
scanf("%2f",&y2);
sum=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("点A(%2f,%2f)到点B(%2f,%2f)的距离是%2f",x1,y1,x2,y2,sum);
}
⑷ C语言题目:计算两点间的距离
#include <math.h>
#include <stdio.h>
int main()
{
float x1, y1, x2, y2;
float d = 0;
while(scanf("%f%f%f%f",&x1,&y1,&x2,&y2)!=EOF)
{
d = sqrtf((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
printf("%.2f ", d);
}
return 0;
}
(4)c语言用指针算二维空间点的距离扩展阅读:
c语言基本运算
一:算术运算符
算术运算符非常地简单,就是小学数学里面的一些加减乘除操作。不过呢,还是有一些语法细节需要注意的。
一、加法运算符 +
int a = 10;
(此处空一行)
int b = a + 5;
在第3行利用加法运算符 + 进行了加法运算,再将和赋值给了变量b,最终变量b的值是15
二、减法运算符 或 负值运算符-
int b = 10 - 5;
(此处空一行)
int a = -10;
1、在第1行利用减法运算符 - 进行了减法运算,再将差赋值给了变量b,最终变量b的值是5
2、 在第3行中,这个 - 并不是什么减法运算符,而算是一个负值运算符,-10代表的是负十
三、乘法运算符*
int b = 10 * 5;
注意:乘法运算符并不是x或者X,而是星号*。变量b最终的值是50。
四、除法运算符/
double a = 10.0 / 4;
double b = 10 / 4;
(此处空一行)
printf("a=%f, b=%f ", a, b);
注意:除法运算符并不是÷,而是一个正斜杠 /
⑸ 程序设计用C语言求二维空间中两点的中点
根据题意,算出2个坐标点的平均值就是中点坐标.
float是单浮点,你可以用int整数或者double双浮点代替.
#include <stdio.h>
int main()
{
float x1, y1; //坐标一
float x2, y2; //坐标二
float xmid, ymid; //中点坐标
printf("请输入第一个坐标,用逗号隔开:");
scanf("%f,%f", &x1, &y1);
printf("请输入第二个坐标,用逗号隔开:");
scanf("%f,%f", &x2, &y2);
/*算出2个坐标平均值*/
xmid = (x1 + x2) / 2;
ymid = (y1 + y2) / 2;
printf("它们的中点坐标:%f,%f\n", xmid, ymid);
return 0;
}
⑹ c语言 求空间中最远的两个点距离(函数参数用指针)
你这个题的数据量很小(n<10),所以完全可以暴力求解
#include<stdio.h>
#include<math.h>
typedefstructpoint
{
doublex,y,z;
}Point;
doubleGetDistance(constPoint*a,constPoint*b)
{
returnsqrt((a->x-b->x)*(a->x-b->x)+
(a->y-b->y)*(a->y-b->y)+
(a->z-b->z)*(a->z-b->z));
}
intmain()
{
inti,j,n;
Pointp[10];
doubleres=0,distance=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%lf%lf%lf",&p[i].x,&p[i].y,&p[i].z);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
distance=GetDistance(&p[i],&p[j]);
res=distance>res?distance:res;
}
}
printf("%.2lf ",res);
return0;
}
⑺ 用c语言计算两点间的距离
#include <math.h>
#include <stdio.h>
void main()
{
float x1, y1, x2, y2;
float d;
printf("请输入x1,y1,x2,y2,用空格隔开: ");
scanf("%f %f %f %f", &x1, &y1, &x2, &y2);
d = sqrtf((x2 - x1) * (x2 - x1) +(y2 - y1) * (y2 - y1));
printf("两点间的距离为%.2f", d);
}
(7)c语言用指针算二维空间点的距离扩展阅读:
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。
⑻ 如何用C语言计算两点之间距离
用C语言计算两点之间距离的参考代码:
#include <stdio.h>
#include <stdlib.h>
#include "math.h"
typedef struct point {
double x;
double y;
}point;
point array[30001];
double distance(point a,point b);
int main(int argc, char *argv[])
{
while(1){
int n,i,j,count;
double maxdis,temp;
scanf("%d",&n);
for(i = 0;i<n;i++){
scanf("%f %f",&array[i].x,&array[i].y);
}
for(i = 0;i<n;i++){
//printf("%d %d ",array[i].x,array[i].y);
//printf("dis:%.2f ",distance(array[0],array[i]));
}
maxdis = 0.0;
for(i = 0;i<n;i++){
for(j = i;j<n;j++){
if(distance((array[i]),(array[j])) > maxdis ){
//printf("maxdis = :%.2f ",distance((array[i]),(array[j])));
maxdis =distance((array[i]),(array[j]));
}
}
}
printf("%.2f",maxdis);
}
system("pause");
return 0;
}
//计算x y之间距离
double distance(point a,point b){
return sqrt( (a.x - b.x)*(a.x - b.x) + (a.y -b.y)*(a.y -b.y) );
}
(8)c语言用指针算二维空间点的距离扩展阅读:
C语言编写注意事项:
1、所有自定义变量必须声明才能使用。
2、每行只书写一条语句, 在运算符两边加上一个空格, 便于阅读。
3、整数除法将自动舍位, 不会进行四舍五入的操作。
4、for(初始化部分;条件部分;增长部分) - 比while 更适用于初始化和增长步长都是单条语句情况下。
5、使用#define 名字 替换文本 对部分"幻数" 赋予意义便于阅读 #define结尾不需要“;”号结束。
⑼ 求C语言程序:计算两点间的距离
代码如下:
#include<stdio.h>
#include<math.h>
struct point
{
double x;
double y;
};
struct point readPoint();
double distance(struct point p1,struct point p2);
int main(void)
{
struct point a,b;
double dis;
printf(" distance! ");
printf("please input the point(for example:1.0,2.0):");
a=readPoint();
printf(" please input the point(for example:1.0,2.0):");
b=readPoint();
dis=distance(a,b);
printf(" the distance is:%.2f ",dis);
return 0;
}
struct point readPoint()
{
struct point p;
scanf("%lf,%lf",&p.x,&p.y);
return p;
}
double distance(struct point p1,struct point p2)
{
double d;
d=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
return d;
}