-->
当前位置:首页 > 题库 > 正文内容

程序填空题:三维向量的较量- C/C++ 结构

Luz2年前 (2022-09-06)题库957
编程从键盘读入10个Vector3D三维向量,然后使用任意一种排序算法按照模长递增排序并依次输出。

其中,Vector3D定义为结构体,包含三个整数分量x,y和z。其模长定义为:


![image.png](~/b8aca245-afaf-480f-9540-fc15e158fd56.png)


请将下述代码补充完整,以完成上述任务。
c
#include <stdio.h>
#include <math.h>

{
int x;
int y;
int z;
} Vector3D;

double length(const Vector3D v){
return
}

int main()
{
const int N = 10;
Vector3D a[N];
for (int i=0;i<N;i++)
scanf("%d %d %d",&a[i].x,&a[i].y,&a[i].z);

//使用冒泡排序算法进行排序
for (int i=N-1;i>0;i--)
for (int j=0;j<i;j++){
if (){
Vector3D t = a[j];


}
}

printf("Sorted array by length:\n");
for (int i=0;i<N;i++)
printf("(%d,%d,%d),",a[i].x,a[i].y,a[i].z);

return 0;
}


输入样例:

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


输出样例:

Sorted array by length:
(1,1,1),(1,1,2),(2,2,2),(3,3,3),(3,3,4),(4,4,4),(5,5,5),(7,7,7),(7,7,8),(9,9,9),


### 感觉不会?  那试着听听**免费的B站网课**
[简洁的C和C++ - 重庆大学在线课程](https://www.bilibili.com/video/BV1it411d7zx/)
[Python编程基础及应用 - 重庆大学在线课程](https://www.bilibili.com/video/BV1kt411R7uW/)
![image.png](~/6e79c9e3-cb7f-486d-ab78-36b5a8f655c0.png)












答案:
第1空:typedef struct

第2空:sqrt(v.x*v.x+v.y*v.y+v.z*v.z);

第3空:length(a[j])>length(a[j+1])

第4空:a[j] = a[j+1];

第5空:a[j+1] = t;

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。