『壹』 編寫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語言計算兩點之間距離
用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) );
}
(2)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;
}
『肆』 用C語言編寫一個程序:定義一個點的坐標,然後定義兩個點,求這兩個點間的距離。
#include<stdio.h>
#include<math.h>
structPoint
{
doublex,y;
};
/**.*/
doubledistance(conststructPoint*a,conststructPoint*b)
{
returnsqrt((a->x-b->x)*(a->x-b->x)+(a->y-b->y)*(a->y-b->y));
}
intmain()
{
structPointa,b;
printf("Pleaseinputthefirstpoint:");
scanf("%lf%lf",&a.x,&a.y);
printf("Pleaseinputthesecondpoint:");
scanf("%lf%lf",&b.x,&b.y);
printf("Thedistanceofthetwopointis%f. ",distance(&a,&b));
return0;
}
說明:
1、distance() 函數的兩個參數 const struct Point *a 和 b 使用了 const 修飾,是表示 a 和 b 在函數執行過程中不會被修改;這樣即使函數體內部寫錯,修改了 a 和 b 的值,編譯也不會通過。
2、對 double,scanf 用 %lf,printf 用 %f。
以上。
『伍』 C語言計算兩點間距離方法是什麼
Problem Description
輸入兩點坐標(X1,Y1),(X2,Y2),計算並輸出兩點間的距離。
Input
輸入數據有多組,每組佔一行,由4個實數組成,分別表示x1,y1,x2,y2,數據之間用空格隔開。
Output
對於每組輸入數據,輸出一行,結果保留兩位小數。
#include<stdio.h>
#include<math.h>
void main()
{int X1,X2,Y1,Y2;<br>double d;<br>printf("%d %d %d %d ",X1,Y1,X2,Y2);
<br>while(scanf("%d %d %d %d ",&X1,&Y1,&X2,&Y2)!=EOF)
<br>while(1)<br>{d=sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));<br>printf("%.2f ",d);