用c语言求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
时间: 2024-03-09 15:51:10 浏览: 99
下面是用 C 语言编写的解决方案:
```
#include <stdio.h>
#include <math.h>
// 计算平面上任意一点(x, y)到原点(0, 0)的距离
double dist(double x, double y) {
return sqrt(x * x + y * y);
}
int main() {
double x, y, s = 0;
for (int i = 0; i < 10; i++) {
scanf("%lf %lf", &x, &y);
s += dist(x, y); // 累加距离和
}
printf("distance = %.6f", s); // 输出距离和
return 0;
}
```
使用方式:
1. 将上面的代码保存到文件 `main.c` 中;
2. 在终端中执行 `gcc -o main main.c -lm` 命令,生成可执行文件;
3. 在终端中执行 `./main` 命令运行程序;
4. 按照题目要求输入数据并查看结果。
运行结果示例:
```
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9
distance = 63.639610
```
相关问题
C语言求某一点到原点的距离
在C语言中,计算某一点到原点的距离通常涉及到欧几里得距离的概念。如果该点的坐标表示为(x, y),那么它的距离d到原点(0, 0)可以使用下面的公式计算:
\[ d = \sqrt{x^2 + y^2} \]
这个公式来自于勾股定理,对于三维空间中的点(x, y, z),距离会变成:
\[ d = \sqrt{x^2 + y^2 + z^2} \]
以下是C语言代码的一个简单示例:
```c
#include <stdio.h>
#include <math.h> // 引入数学库,用于 sqrt 函数
double distance_to_origin(double x, double y) {
return sqrt(x * x + y * y);
}
int main() {
double point_x, point_y;
printf("请输入点的x坐标和y坐标:");
scanf("%lf %lf", &point_x, &point_y);
double dist = distance_to_origin(point_x, point_y);
printf("该点到原点的距离是 %.2f\n", dist); // 输出保留两位小数
return 0;
}
```
用户需要输入点的x和y坐标,程序会计算并输出两点之间的距离。
c语言数组计算一点到原点距离
在C语言中,如果有一个二维数组表示的是平面直角坐标系中的点,通常数组的每个元素包含x和y坐标,我们可以定义一个函数来计算每个点到原点(0,0)的距离。这里假设数组名为`points`,其结构如`{int x, int y}`。
下面是一个简单的示例函数,采用勾股定理来计算距离:
```c
#include <math.h> // 引入数学库,用于sqrt函数
double distance_to_origin(int points[][2], int size) {
double dist = 0.0;
for (int i = 0; i < size; i++) { // 遍历数组中的每个点
dist += pow(points[i][0], 2); // 计算x轴距离的平方
dist += pow(points[i][1], 2); // 计算y轴距离的平方
}
dist = sqrt(dist); // 使用sqrt计算距离,结果已经是非负实数
return dist;
}
```
这个函数会返回一个double类型的值,代表所有点到原点的欧几里得距离之和。
阅读全文