C语言二级

来源:百度知道 编辑:UC知道 时间:2024/06/24 18:36:00
#include<stdio.h>
#include<math.h>
main(){
float x1,x2,y1,y2,d;
printf("Please enter (x1,y1)");
scanf("%f,%f",&x1,&y1);
printf("Please enter (x2,y2)");
scanf("%f,%f",&x2,&y2);
d=sqrt((x2-x1)^2+(y2-t1)^2);
printf("D=%f\n",d);
}
这是一个求两点之间距离的程序 不知道哪错了 老是编译出错
额~不好意思 那个T1是我输入错误 是y1的

改好了:
#include<stdio.h>
#include<math.h>
int main(){
float x1,x2,y1,y2,d;
printf("Please enter (x1,y1)");
scanf("%f,%f",&x1,&y1);
printf("Please enter (x2,y2)");
scanf("%f,%f",&x2,&y2);
d=(float)sqrt((int)(x2-x1)^2+(int)(y2-y1)^2);
printf("D=%f\n",d);
return 0;
}

d=sqrt((x2-x1)^2+(y2-y1)^2);
你没有定义变量t1呀!

scanf("%f,%f",&x1,&y1);
输入的时候就要写:1.0,2.5
注意用逗号隔开
其它那个是x1不是t1吧

d=sqrt((x2-x1)^2+(y2-t1)^2);
这里出错了 C语言中 没有 a²这种表示
应该是 d=(float)sqrt((int)(x2-x1)*(x2-x1)+(int)(y2-y1)*(y2-y1))

首先,一个很重要的问题是,"y1"打成了"t1",在倒数第三行。其次,"^"这个符号不能乱用,这个运算符是位运算“或”,而不是求幂。建议你将倒数第三行改为:d=sqrt((x2-x1)*(x2-x1)+(y2-y1)*y2-y1);
如果非要求幂的话,用for循环也不错。