输入两点座标(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语言的某些要求还是要注意的~
不过,还是很开心!

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