c++结构体里面元素的运算

来源:百度知道 编辑:UC知道 时间:2024/09/23 16:22:29
定义描述三维坐标点(x,y,z)的结构体类型变量,完成坐标点的输入输出,并求出两坐标点之间的距离:
#include<iostream.h>

struct coordinate{
float x;
float y;
float z;}cd[2];

coordinate input(coordinate s)
{
cin>>s.x>>s.y>>s.z;
return s;
}

void output(coordinate s)
{
cout<<s.x<<'\t'<<s.y<<'\t'<<s.z<<endl;
}

void main(void)
{
cout<<"请输入两个坐标点:"<<endl;
int i;
for(i=0;i<2;i++)
cd[i]=input(cd[i]);
for(i=0;i<2;i++)
output(cd[i]);
cout<<"两个坐标点之间的距离为:"<<endl;

}
我只会输入输出,麻烦再帮我定义个函数求两坐标之间的距离,快,高手来!

#include<iostream.h>
#include <math.h>
struct coordinate{
float x;
float y;
float z;}cd[2];

coordinate input(coordinate s)
{
cin>>s.x>>s.y>>s.z;
return s;
}

void output(coordinate s)
{
cout<<s.x<<'\t'<<s.y<<'\t'<<s.z<<endl;
}
float distance(coordinate a,coordinate b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y )*(a.y-b.y )+(a.z-b.z)*(a.z-b.z));
}
void main(void)
{
cout<<"请输入两个坐标点:"<<endl;
int i;
float c;
for(i=0;i<2;i++)
cd[i]=input(cd[i]);
for(i=0;i<2;i++)
output(cd[i]);
c=distance(cd[0],cd[1]);
cout<<"两个坐标点之间的距离为:"<<c<<endl;
}

code如下:结构体数组作为参数传递

#include<iostream.h>
#include"math.h"

struct coordinate