#include <math.h>#include <iostream>using namespace std;class changdu{ public: changdu() { x1=0; x2=0; y1=0; y2=0; }; void juli(int x1,int x2,int y1,int y2);// void juli(double x1,double x2,double y1,double y2); private: int x1; int x2; int y1; int y2; };void changdu::juli(int x1,int x2,int y1,int y2)//{ sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); cout<<sqrt<<endl; }void changdu::juli(double x1,double x2,double y1,double y2){ sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); cout<<sqrt<<endl; }int main(){ changdu c1; changdu c2; c1.juli(1,3,1,3); c2.juli(1.5,2.5,1.5,2.5);}
3 回答
已采纳
习惯受伤
TA贡献885条经验 获得超1144个赞
sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));你这里没有赋值怎么就输出了?你是不是应该这样:int jl = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
然后输出jl的值。下边那个函数中一样
onemoo
TA贡献883条经验 获得超454个赞
“结果始终为1”? 什么结果? 这个代码能出结果吗?? 这个代码甚至都不能编译吧!...
代码中 cout<<sqrt<<endl; 这样的语句会引起编译器报错,编译失败。
原因就是: sqrt 是什么啊? 不是变量,也不是任何可被打印的东西,所以这句代码无法通过。
我猜你是想打印出前一句调用sqrt函数的返回值。
那么你可以用一个变量去接收这个返回值,再将其打印出来:
double a = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); cout << a<< endl;
或者更简洁些,直接打印函数返回值:
cout << sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)) << endl;
另外再多说一点,你想在 C++ 代码使用 C 标准库中的函数,那应该 include C++ 版本的 C 标准库头文件。比如 <math.h> 在 C++ 中是 <cmath>。
- 3 回答
- 0 关注
- 1121 浏览
添加回答
举报
0/150
提交
取消