Làm tròn số

Đoàn Xuân Trường  •  1 năm trước


Bài này tại sao em thấy kết quả làm tròn đúng nhưng mà nó không khớp với kết quả mong đợi ạ ?

include <stdio.h>

include <math.h>

struct DIEM {

float x,y,z;

}; int main(){

int t; 
scanf("%d",&t);
while (t--){
	DIEM a,b,c;
	scanf("%f%f%f%f%f%f%f%f%f",&a.x,&a.y,&a.z,&b.x,&b.y,&b.z,&c.x,&c.y,&c.z);
	DIEM v,h;
	v.x=c.x-b.x;
	v.y=c.y-b.y;
	v.z=c.z-b.z;
	float t;
	t=(-1*((v.x*(b.x-a.x))+(v.y*(b.y-a.y))+(v.z*(b.z-a.z))))/(v.x*v.x+v.y*v.y+v.z*v.z);
	h.x=b.x + v.x*t;
	h.y=b.y + v.y*t;
	h.z=b.z + v.z*t;
	printf("%.2f\n",sqrt((h.x-a.x)*(h.x-a.x)+(h.y-a.y)*(h.y-a.y)+(h.z-a.z)*(h.z-a.z)));
}
}

Bình luận: