輸入兩點座標(X1,Y1),(X2,Y2),計算並輸出兩點間的距離。

輸入兩點座標(X1,Y1),(X2,Y2),計算並輸出兩點間的距離

按照我的想法是這樣的,但是,不好的事情發生了…

#include<stdio.h>
#include<math.h> 
int main(){
	double x1,x2,y1,y2;
	while(scanf("%f%f%f%f",&x1,&y1,&x2,&y2)!=EOF){
	printf("%.2f\n%.2f",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)),sqrt(pow((x1-x2),2)+pow((y1-y2),2)));
} 
}

在這裏插入圖片描述

1.#J – 計算中出現正無窮 (浮點值)
-1.#J – 計算中出現負無窮 (浮點值)
明明已經規定了輸出小數點後2位,但是依舊存在問題,很是傷心啊,但是,這說明還是有問題的,仔細查看,發現double型變量的輸出格式爲%f,懷疑有點問題,改了下代碼

#include<stdio.h>
#include<math.h> 
int main(){
	double x1,x2,y1,y2;
	while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF){
	printf("%.2lf\n%.2lf",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)),sqrt(pow((x1-x2),2)+pow((y1-y2),2)));
} 
}

在這裏插入圖片描述果然如此,行吧,看來C語言的某些要求還是要注意的~
不過,還是很開心!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章