酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

使用下面的数据结构,对右侧数据,按name进行升序排序。 typedef struct{ int iindex; char strname[32]; char strphone[9]; }datastruct_t; {1,"david","555-2685"}, {2,"cuppone","555-0039"}, {3,"autogrill","555-1238"}, {4,"ciakki","555-6658"}, {5,"elisa","555-9275"}, {6,"anna","555-2233"}, {7,"tenerone","555-1111"}, {8,"ufficio","555-9801"}, {9,"bruno","555-2983"}, {10,"laura","555-6697"}, {11,"antonio","555-1234"}, {12,"anna","555-0001"}, {13,"giulio","555-3456"}, {14,"zuzzicasa","555-8810"}, {15,"jasmina","555-7910"}, {16,"s

以下是使用 C 语言实现对给定数据结构按照 `name` 升序排序的示例代码: ```c #include <stdio.h> #include <string.h> typedef struct { int iindex; char strname[32]; char strphone[9]; } datastruct_t; // 比较函数用于 qsort int compare(const void *a, const void *b) { datastruct_t *dataA = (datastruct_t *)a; datastruct_t *dataB = (datastruct_t *)b; return strcmp(dataA->strname, dataB->strname); } int main() { datastruct_t data[] = { {1,"david","555-2685"}, {2,"cuppone","555-0039"}, {3,"autogrill","555-1238"}, {4,"ciakki","555-6658"}, {5,"elisa","555-9275"}, {6,"anna","555-2233"}, {7,"tenerone","555-1111"}, {8,"ufficio","555-9801"}, {9,"bruno","555-2983"}, {10,"laura","555-6697"}, {11,"antonio","555-1234"}, {12,"anna","555-0001"}, {13,"giulio","555-3456"}, {14,"zuzzicasa","555-8810"}, {15,"jasmina","555-7910"} }; int n = sizeof(data) / sizeof(data[0]); qsort(data, n, sizeof(datastruct_t), compare); for (int i = 0; i < n; i++) { printf("%d, %s, %s\n", data[i].iindex, data[i].strname, data[i].strphone); } return 0; } ``` 在上述代码中,定义了一个比较函数 `compare` 用于 `qsort` 函数的排序依据,然后在 `main` 函数中使用 `qsort` 对数据进行排序,并打印排序后的结果。 [2024-08-28 10:55:59 | AI写代码神器 | 575点数解答]

相关提问