有依次对应关系的数组X、Y、Z,如何排序其中一个X数组,使得另外的数组还与排序完成后的数组相对应(C语言实现)

news/2025/2/11 8:48:44/

1. 目的

   有依次对应关系的数组X、Y、Z,排序其中一个X数组,使得另外的数组还与排序完成后的数组相对应,并打印出排序完成后的X、Y、Z数组。

2. 具体实现

  以下面的这个对应关系为例,进行相应编程实现。

X = [3.7,7.7,-6.6,1.5,-4.5,7.0,3.2,-0.7,9.0,-2.2];
Y = [-1.2,5.1,9.7,3.6,-6.6,7.6,-3.0,10.0,-4.1,0.1];
Z = [10.2,8.0,4.8,17.6,5.6,0.2,14.8,6.2,3.7,11.9];

  要对其中数组进行排序并保持它们之间的一一对应关系,可以使用结构体数组来实现。对于排序,这里使用简单的冒泡排序(其他排序都可以)来实现,具体代码如下:

#include <stdio.h>
// 定义结构体
typedef struct {float x;float y;float z;
} Point;//简单的冒泡排序
void bubbleSort(Point arr[], int n) {for (int i = 0; i < n-1; i++) {for (int j = 0; j < n-i-1; j++) {if (arr[j].x > arr[j+1].x) {// 交换结构体元素Point temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}
}
int main() {// 假设有三个数组float  X[10] = {3.7,7.7,-6.6,1.5,-4.5,7.0,3.2,-0.7,9.0,-2.2};float  Y[10] = {-1.2,5.1,9.7,3.6,-6.6,7.6,-3.0,10.0,-4.1,0.1};float  Z[10] = {10.2,8.0,4.8,17.6,5.6,0.2,14.8,6.2,3.7,11.9};// 创建结构体数组并初始化Point points[10];for (int i = 0; i < 10; i++) {points[i].x = X[i];points[i].y = Y[i];points[i].z = Z[i];}// 对结构体数组进行排序bubbleSort(points, 10);// 打印排序后的X数组结果printf(" X = [");for (int i = 0; i < 10; i++) {printf("%.1f", points[i].x);if (i < 9) {printf(", ");}}printf("];\n");// 打印排序后的Y数组结果printf(" Y = [");for (int i = 0; i < 10; i++) {printf("%.1f", points[i].y);if (i < 9) {printf(", ");}}printf("];\n");// 打印排序后的Z数组结果printf(" Z = [");for (int i = 0; i < 10; i++) {printf("%.1f", points[i].z);if (i < 9) {printf(", ");}}printf("];\n");return 0;
}

  运行结果如下:
在这里插入图片描述


http://www.ppmy.cn/news/1231886.html

相关文章

打码平台之图鉴的使用步骤

打码平台之图鉴 背景&#xff1a; ​ 今天给大家推荐一个我一直使用的验证码识别平台&#xff0c;图鉴&#xff0c;我没有收费&#xff0c;我只是觉得这个网站使用方便&#xff0c;支持验证码种类多&#xff0c;好了&#xff0c;话不多说&#xff0c;上教程&#xff01; 注册…

华纳云:redis缓存失效策略怎么配置

在Redis中&#xff0c;你可以通过配置缓存失效策略来控制缓存的过期和淘汰行为。以下是一些与缓存失效相关的配置选项&#xff1a; 过期时间&#xff08;expire&#xff09;&#xff1a; 使用 EXPIRE 命令可以为特定的 key 设置过期时间&#xff0c;以秒为单位。例如&#xff0…

我在CSDN开组会1-蒙特卡洛模拟在矿床学的应用展望

各位老师、同学们&#xff0c;大家好。今天组会的内容是蒙特卡洛模拟在矿床学的应用展望。 为什么要讲蒙特卡洛模拟呢&#xff0c;因为我发现在地质学方面已经有不少应用&#xff0c;但是蒙特卡洛模拟延伸的知识太晦涩了&#xff0c;劝退了很多探究者们。因此&#xff0c;计划…

【OpenCV实现图像:在Python中使用OpenCV进行直线检测】

文章目录 概要霍夫变换举个栗子执行边缘检测进行霍夫变换小结 概要 图像处理作为计算机视觉领域的重要分支&#xff0c;广泛应用于图像识别、模式识别以及计算机视觉任务中。在图像处理的众多算法中&#xff0c;直线检测是一项关键而常见的任务。该任务的核心目标是从图像中提…

git拉取普通idea Java项目module没有build的问题

在不断完成一个项目的时候&#xff0c;会有不断新加的module&#xff0c;我们用git拉取时会发生没有识别新module的情况。 解决方法是右键项目名称&#xff0c;然后点击Open Module Settings 接下来&#xff0c;点击Module&#xff0c;加号&#xff0c;新建Module的名字就是在g…

8、信息打点——系统篇端口扫描CDN服务负载均衡WAF

文章目录 获取网络信息获取服务信息获取阻碍信息 获取网络信息 服务器厂商信息&#xff08;阿里云&#xff1f;腾讯云&#xff1f;&#xff09; 收集的原因&#xff1a;如果服务器架设在云上&#xff0c;不同厂商的一些配置信息不同。判断方法&#xff1a;直接在ip/域名网站搜相…

小白也能看懂的国内外 AI 芯片概述

随着越来越多的企业将人工智能应用于其产品&#xff0c;AI芯片需求快速增长&#xff0c;市场规模增长显著。因此&#xff0c;本文主要针对目前市场上的AI芯片厂商及其产品进行简要概述。 简介 AI芯片也被称为AI加速器或计算卡&#xff0c;从广义上讲只要能够运行人工智能算法…

4、FFmpeg命令行操作4

ffmpeg命令参数说明 主要参数: -i 设定输入流 -f 设定输出格式(format) -ss 开始时间 -t 时间长度 音频参数: -aframes 设置要输出的音频帧数 -b:a 音频码率 -ar 设定采样率 -ac 设定声音的Channel数 -acodec 设定声音编解码器,如果用copy表示原始编解码数…