7-58 求10个点到原点的距离和 (15 分)

求10个点到原点的距离和。输入10个点的坐标,计算并输出这些点到原点的距离和。定义函数dist(x, y),计算平面上任意一点(x, y)到原点(0, 0)的距离,函数返回值类型是double。

输入格式:

输入在一行中给出10对实数,每对实数对应一个点的横坐标和纵坐标。

输出格式:

在一行中按照“distance = S”的格式输出部分和的值S,精确到小数点后六位,请注意等号的左右各有一个空格。题目保证计算结果不超过双精度范围。

输入样例:

0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

结尾无空行

输出样例:

distance = 63.639610

结尾无空行

#include <stdio.h>
#include <math.h>
double dist(double x,double y);

int main(int argc, char *argv[]) 
{
    double x1,x2,x3,x4,x5,x6,x7,x8,x9,a,y1,y2,y3,y4,y5,y6,y7,y8,y9,z,s;
    
scanf("%lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4,&x5,&y5,&x6,&y6,&x7,&y7,&x8,&y8,&x9,&y9,&a,&z);
    s=dist(x1,y1)+dist(x2,y2)+dist(x3,y3)+dist(x4,y4)+dist(x5,y5)+dist(x6,y6)+dist(x7,y7)+dist(x8,y8)+dist(x9,y9)+dist(a,z);

    printf("distance = %.6f\n",s);
    
        return 0;
}
double dist(double x,double y)
{
    double result;
    result = sqrt((x-0)*(x-0)+(y-0)*(y-0));
    return result;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这道题目需要10个点到原点距离和。我们可以通过计算每个点到原点距离,然后将它们相加得到答案。 具体的计算方法是,对于每个点(x,y),它到原点距离为sqrt(x^2+y^2),其中sqrt表示开方运算。 因此,我们可以依次计算出10个点到原点距离,然后将它们相加即可得到最终的答案。 ### 回答2: 这道题目可以使用勾股定理来解。根据题目的要,我们需要10个点到原点(0,0)的距离和。 假设一个点的坐标为(x,y),那么它到原点距离为sqrt(x^2+y^2)。因此,我们可以将所有点的坐标代入这个公式中,出每个点到原点距离,再将它们加起来。 具体地,我们可以使用一个循环来遍历10个点的坐标,对于每个点,我们可以先出x^2+y^2的值,然后将其累加到一个变量sum中。最后,当循环结束后,sum中存储的就是10个点到原点距离和了。 下面是一个Python代码的示例: sum = 0 for i in range(10): x = int(input("请输入第%d个点的横坐标:" % (i+1))) y = int(input("请输入第%d个点的纵坐标:" % (i+1))) sum += (x**2 + y**2) ** 0.5 print("10个点到原点距离和为:", sum) 需要注意的是,在计算乘方的时候可以使用Python中的**符号,而在使用sqrt函数时需要使用math库。此外,我们可以根据需要对坐标输入的方式进行修改,例如可以使用随机数生成器来生成数据。 总之,这道题目的解法比较简单,只需要使用勾股定理即可。关键在于如何正确地编写代码。 ### 回答3: 首先我们需要知道原点的坐标是(0,0)。 那么我们需要解的是10个点到原点距离和,可以使用勾股定理来解。勾股定理指出,直角三角形的两个直角边的平方和等于斜边的平方。这个定理可以用来解任何形状的三角形。 我们设置10个点的坐标,可以设为(x1,y1),(x2,y2),...,(x10,y10)。距离公式为d=sqrt(x^2+y^2),即距离等于该点坐标x和y别平方后和的平方根。 我们设置一个距离计数器sum,然后对于每个点的坐标,先计算x和y的平方和,然后再将平方和相加并且开方,得出距离后加到sum上即可。 综上所述,我们可以得到用代码10个点到原点距离和的方法: sum = 0 for i in range(10): x = xi # 该点的x坐标 y = yi # 该点的y坐标 d = ((x ** 2) + (y ** 2)) ** 0.5 # 距离公式 sum += d print(sum) 这样,我们就可以得到10个点到原点距离和了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hu_66666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值