2 점 A, B 사이의 거리를 계산하려고했습니다. 터미널 창을 실행하면 잘못된 숫자가 표시됩니다. 아무도 내가 어떤 가치를 바꾸거나 stuct 또는 많은 조언을 바꾸도록 도와 줄 수 있습니까?A, B 사이의 거리
예 : A의 : B에서 -50 -50 : 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 가지가있는 이유) –