第9周基础练习
依照学术诚信条款,我保证此作业是本人独立完成的。
温馨提示:
1.本次作业属于Online Judge题目,提交后由系统即时判分。
2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩。
1点类(10分)
题目内容:
定义平面点类POINT,点的x,y坐标是其数据成员,double类型,私有;成员函数有set()设置点的x,y坐标,distance()计算和另一个点的距离,show()显示坐标的位置信息。成员函数均为公有。
编写主函数,使用POINT类定义两个点对象,输入并设置两个点的坐标,显示依次两个点的坐标信息,计算并显示两个点的距离。主函数和运行结果如下下:
主函数:
运行结果
输入:两行,每行是一个点的x,y坐标,用空格隔开。
输出:三行,前两行分别是两个点的坐标,在括号中用逗号隔开,是英文符号。第3行是两个点的距离,非负实数。
样例1输入:
0 0
1 1
样例1输出:
(0,0)
(1,1)
1.41421
参考程序
时间限制:500ms内存限制:32000kb
C++
#include<iostream>
#include<cmath>
using namespace std;
class POINT{
private: double x,y;
public:
void set(double a,double b);
void show();
double distance(POINT B);
};
double POINT::distance(POINT b){
return sqrt(pow(x-b.x,2)+pow(y-b.y,2));
}
void POINT::set(double a,double b){
x=a;y=b;}
void POINT::show(){
cout<<"("<<x<<","<<y<<")";}
int main(){
POINT a,b;
double x,y;
cin>>x>>y;
a.set(x,y);
cin>>x>>y;
b.set(x,y);
a.show();cout<<endl;
b.show();cout<<endl;
cout<<a.distance(b)<<endl;
return 0; }
用例测试结果 运行时间 占用内存 提示 得分
用例1通过 3ms 236kb
2
用例2通过 2ms 380kb
2
用例3通过 3ms 368kb
2
用例4通过 2ms 372kb
2
用例5通过 2ms 360kb
1
用例6通过 3ms 256kb
1
提交答案本次得分/总分:10.00/10.00分
2圆类(10分)
题目内容:
定义圆类CIRCLE,圆心坐标和半径是其数据成员,double类型,私有;成员函数有set()设置圆心坐标和半径,area()计算圆的面积,perimeter()计算周长,show()显示圆心和半径信息。成员函数均为公有。
编写主函数,使用CIRCLE类定义一个圆的对象,输入并设置圆心和半径,显示圆的静态成员信息信息,计算并显示圆的周长和面积。主函数和运行结果如下:
运行结果
输入:圆心坐标和半径,用空格隔开。
输出:三行,一行是圆心、半径,在括号中,用逗号隔开;一行是周长;一行是面积
【提示】
样例1输入:
1 2 1
样例1输出:
(1,2,1)
6.28
3.14
时间限制:500ms内存限制:32000kb
C++
#include<iostream>
#include<cmath>
using namespace std;