问题 单项选择题

下面程序的输出结果是( )。
#include<iostream>
#include <math.h>
using namespace std;
class point

private:
double x;
double y;
public:
point(double a, double b)

x=a;
y=b;

friend double distances(point a,point b);
;
double distances(point a,point b)

return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));

int main()

point p1 (1,2);
point p2(5,2);
cout<<distances(p1 ,p2)<<end1;
return 0;

A) 2
B) 4
C) 8
D) 16

答案

参考答案:B

解析: 分析题目,此题最终要实现的结果是sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)),其中的a.x和a.y分别指p1(1,2)中的1和2。这样容易得到结果是(1-5)*(1-5)+(2-2)*(2-2)=16,再开方得到结果为4。

单项选择题 A1/A2型题
单项选择题