/* 烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:zhaojiaxiang *完成日期:2013年3月8日 *版本号:v1.0 *我的程序: */ #include<iostream> #include<cmath> using namespace std; enum SymmetricStyle {axisx,axisy,point};//分别表示按x轴, y轴, 原点对称 struct Point { double x; // 横坐标 double y; // 纵坐标 }; double distance(Point p1, Point p2); // 两点之间的距离 double distance0(Point p1); Point symmetricAxis(Point p,SymmetricStyle style); //返回对称点 int main( ) { Point p1= {1,5},p2= {4,1},p; cout<<"两点的距离为:"<<distance(p1,p2)<<endl; cout<<"p1到原点的距离为:"<<distance0(p1)<<endl; p=symmetricAxis(p1,axisx); cout<<"p1关于x轴的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; p=symmetricAxis(p1,axisy); cout<<"p1关于y轴的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; p=symmetricAxis(p1,point); cout<<"p1关于原点的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; return 0; } // 求两点之间的距离 double distance(Point p1,Point p2) { double d; d=sqrt(pow((p2.x-p1.x),2)+pow((p2.y-p1.y),2)); return d; } // 求点到原点的距离 double distance0(Point p) { double d; d=sqrt(pow(p.x,2)+pow(p.y,2)); return d; } // 求对称点 Point symmetricAxis(Point p1,SymmetricStyle style) { Point p; if(style==axisx) { p.x=p1.x; p.y=-p1.y; } else if(style==axisy) { p.x=-p1.x; p.y=p1.y; } else { p.x=-p1.x; p.y=-p1.y; } return p; }
感悟:在做题之前先看了看同学的原型 并借鉴了一周的项目一
原文:http://blog.csdn.net/zjx211314/article/details/20790705