輸入兩點座標(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語言的某些要求還是要注意的~
不過,還是很開心!