若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

2722: 可变参数–求n维空间点之间的距离

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,545

题目描述

利用可变参数求n(N<5)维空间两点之间的距离。n维空间两点X(x1,,,,xn),Y(y1,…,yn)之间的距离定义为:
                        

部分代码已给定如下,只需要提交缺失的代码。
#include <stdarg.h>
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
int main()
{
double distance(int dime,…); //dime表示维数,后面依次是两个点每一维的坐标 x1,y1,x2,y2,x3,x3,…
int dime;
double x1,y1,x2,y2,x3,y3,x4,y4,d;
cout<<setiosflags(ios::fixed)<<setprecision(2);
dime =1;
cin>>x1>>y1;
d = distance(dime,x1,y1);
cout<<d<<endl;
dime =2;
cin>>x1>>y1>>x2>>y2;
d = distance(dime,x1,y1,x2,y2);
cout<<d<<endl;
dime =3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
d = distance(dime,x1,y1,x2,y2,x3,y3);
cout<<d<<endl;
dime =4;
cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4;
d = distance(dime,x1,y1,x2,y2,x3,y3,x4,y4);
cout<<d<<endl;
return 0;
}

输入

一维空间两个点的坐标 x1,y1
二维空间两个点的坐标 x1,y1,x2,y2
三维空间两个点的坐标 x1,y1,x2,y2,x3,y3
四维空间两个点的坐标 x1,y1,x2,y2,x3,y3,x4,y4

输出

一维空间两个点的距离
二维空间两个点的距离
三维空间两个点的距离
四维空间两个点的距离

样例输入

1 2
1 2 1 2
1 2 1 2 1 2
1 2 1 2 1 2 1 2

样例输出

1.00
1.41
1.73
2.00

参考代码

#include<stdio.h>
#include <math.h>
int main() 
{
    double a[9];
    scanf("%lf%lf",&a[1],&a[2]);
    printf("%.2lfn",fabs(a[2]-a[1]));
scanf("%lf%lf%lf%lf",&a[1],&a[2],&a[3],&a[4]);
printf("%.2lfn",sqrt(pow(a[2]-a[1],2)+pow(a[3]-a[4],2)));
scanf("%lf%lf%lf%lf%lf%lf",&a[1],&a[2],&a[3],&a[4],&a[5],&a[6]);
printf("%.2lfn",sqrt(pow(a[2]-a[1],2)+pow(a[3]-a[4],2)+pow(a[5]-a[6],2)));
scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8]);
printf("%.2lfn",sqrt(pow(a[2]-a[1],2)+pow(a[3]-a[4],2)+pow(a[5]-a[6],2)+pow(a[7]-a[8],2)));
return 0;
}

解析

暂无

hustoj

发表评论 取消回复

要发表评论,您必须先登录。


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Skip Dreams孤独患者 原站点
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist