传奇手游发布网站,宁波seo推广开发,高端定制网站,做任务的电脑网站1. 目的 有依次对应关系的数组X、Y、Z#xff0c;排序其中一个X数组#xff0c;使得另外的数组还与排序完成后的数组相对应#xff0c;并打印出排序完成后的X、Y、Z数组。
2. 具体实现 以下面的这个对应关系为例#xff0c;进行相应编程实现。
X [3.7,7.7,-6.6,1.5,-4.5…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[j1].x) {// 交换结构体元素Point temp arr[j];arr[j] arr[j1];arr[j1] 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;
}运行结果如下