#include <stdio.h> #include <math.h> int main() { FILE *fp; int i; double x[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65}; double y[10]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33}; /****考生在以下空白处写入执行语句 ******/ /****考生在以上空白处写入执行语句 ******/ printf("%f\n",s); fp=fopen("CD1.dat","wb"); fwrite(&s,8,1,fp); fclose(fp); }
时间: 2023-07-23 07:25:52 浏览: 91
好的,针对您的问题,可以使用以下的C语言代码实现:
```c
#include <stdio.h>
#include <math.h>
int main()
{
FILE *fp;
int i;
double x[10] = {1.1, 3.2, -2.5, 5.67, 3.42, -4.5, 2.54, 5.6, 0.97, 4.65};
double y[10] = {-6, 4.3, 4.5, 3.67, 2.42, 2.54, 5.6, -0.97, 4.65, -3.33};
double s = 0.0;
// 计算欧几里得距离的平方
for (i = 0; i < 10; i++) {
s += pow(x[i] - y[i], 2);
}
// 计算欧几里得距离
s = sqrt(s);
printf("%f\n", s);
fp = fopen("CD1.dat", "wb");
fwrite(&s, 8, 1, fp);
fclose(fp);
return 0;
}
```
解释一下代码:
1. 首先在主函数中定义了两个数组x和y,用于存放给定的10个数;
2. 然后定义了一个变量s,用于存放欧几里得距离的平方;
3. 使用for循环计算欧几里得距离的平方,即将每个坐标轴上的差值平方后求和,结果存入s中;
4. 计算欧几里得距离,即将s开方,结果存入s中;
5. 最后使用printf函数输出s的值,并使用fwrite函数将变量s的值以二进制格式写入CD1.dat文件中。
注意,这里的fwrite函数将变量s的值以二进制格式写入文件中,因此在读取时也需要使用二进制方式进行读取。
阅读全文
相关推荐


















