我試圖計算2個點之間的距離,A,B。當我運行終端窗口時,它給了我一個錯誤的數字。任何人都可以幫助我改變一些價值,或影響或許多提示。A,B之間的距離
例子: 在答:-50 -50 在B:50 50 距離爲141.42
#include<stdio.h>
#include<conio.h>
#include<math.h>
typedef struct{
double a;
double b;
double c;
double d;
}location;
double dist(location w,location x, location y,location z)
{
double l;
l=sqrt(pow((y.c-w.a),2)+pow((z.d-x.b),2));
return(l);
}
void main()
{
location h;
location i;
location j;
location k;
printf("Enter 1st point(A)\n");
scanf("%lf %lf",&h.a,&i.b);
printf("Enter 2nd point(B)\n");
scanf("%1f %1f",&j.c,&k.d);
double data;
data = dist(h,i,j,k);
printf("%.2lf",data);
}
141.42是這些點之間的正確歐幾里得距離。你期望的距離是什麼? – user1118321
使用格式'%1f'時,最多隻能讀入一位數字。您似乎錯誤地輸入了小寫字母L,並使用數字1代替。 – paddy
真正的問題是爲什麼在這裏有4個位置(或爲什麼位置有4個東西) – 2017-04-26 05:21:44