zoukankan      html  css  js  c++  java
  • 第二十四周项目6-点和距离

    读程序,写出函数的定义,注意其中枚举类型的用法。

    enum SymmetricStyle {axisx,axisy,point};//分别表示按x轴, y轴, 原点对称
    struct Point{
    	double x;  // 横坐标
    	double y;  // 纵坐标
    };
    double distance1(Point p1, Point p2);   // 两点之间的距离,如果用distance,将会与命名空间std中也已经定义的distance函数重名
    double distance0(Point p1);
    Point symmetricAxis(Point p,SymmetricStyle style);   //返回对称点
    int main( ){
    	Point p1={1,5},p2={4,1},p;
    	cout<<"两点的距离为:"<<distance1(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 distance1(Point p1,Point p2)  
    {  
        double d;  
        ……  
        return d;  
    }  
      
    // 求点到原点的距离  
    double distance0(Point p)  
    {  
        double d;  
        ……  
        return d;  
    }  
      
    // 求对称点  
    Point symmetricAxis(Point p1,SymmetricStyle style)  
    {  
        Point p;  
        ……
        return p;  
    }  

    #include <iostream>
    #include <Cmath>
    using namespace std;
    
    enum SymmetricStyle {axisx,axisy,point};//分别表示按x轴, y轴, 原点对称
    struct Point
    {
    	double x;  // 横坐标
    	double y;  // 纵坐标
    };
    double distance1(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<<"两点的距离为:"<<distance1(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 distance1(Point p1,Point p2)
    {
    	double d;
    	d=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
    	return d;
    }
    
    // 求点到原点的距离
    double distance0(Point p)
    {
    	double d;
    	d=sqrt(p.x*p.x+p.y*p.y);
    	return d;
    }
    
    // 求对称点
    Point symmetricAxis(Point p1,SymmetricStyle style)
    {
    	Point p;
    	p.x=p1.x;
    	p.y=p1.y;
    	switch(style)
    	{
    	case axisx:
    		p.y=-p1.y; break;
    	case axisy:
    		p.x=-p1.x; break;
    	case point:
    		p.x=-p1.x;p.y=-p1.y;
    	}
    	return p;
    }
    运行结果:


    @ Mayuko

  • 相关阅读:
    计算机科学与软件工程的区别
    中文编程对中国程序员是一个“银弹”吗?
    CocoaPods的使用心得
    初学 Swift (实现加减乘除功能和函数的基本类型)
    error itms-90096?苹果提交二进制文件时,报这个错(解决方案)
    因为年轻,所以拼搏
    [转载]C#中的interface abstract和virtual
    一个简单的.NET MVC实例
    Unity3d + Jenkins自动构建IOS篇遇到的问题。
    BZOJ1005: [HNOI2008]明明的烦恼
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567541.html
Copyright © 2011-2022 走看看