用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 浏览: 80
下面是用 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坐标,我们可以定义一个函数来计算每个点到原点(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类型的值,代表所有点到原点的欧几里得距离之和。
C语言计算并输出三维空间中任意一点到原点的距离
可以使用以下代码来计算并输出三维空间中任意一点到原点的距离:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float x, y, z, distance;
printf("Enter the coordinates of the point(x, y, z): ");
scanf("%f %f %f", &x, &y, &z);
distance = sqrt(x*x + y*y + z*z);
printf("The distance from the point (%.2f, %.2f, %.2f) to the origin is: %.2f", x, y, z, distance);
return 0;
}
```
代码中先通过 `scanf` 函数获取用户输入的点的坐标,然后利用勾股定理计算出点到原点的距离,并通过 `printf` 函数输出结果。其中,sqrt 函数用于计算平方根。请注意,该程序假设用户输入的是三维空间中的笛卡尔坐标系中的点。
阅读全文