酷代码 AI
菜单
服务商

以下是提取的文字内容: 就业问题是关系到民生根本的大问题,直接影响着经济的发展和社会的稳定。我国一直实施积极的就业政策,开发就业岗位,创造公平的就业环境,规范劳动力市场秩序,提供就业信息和完善社会保障体系。劳动者则一直发扬艰苦奋斗、自强不息的精神,树立自主择业观、职业平等观、竞争就业观等正确的就业观念,提高自身素质、增强权利意识和法律意识,维护自己的合法权益。近几年,伴随新经济形态快速崛起,越来越多人选择灵活就业,一边享受工作自由,一边坚持内心热爱。 为了解我国的就业情况,根据中华人民共和国国家统计局第七次人口普查结果,就业行业和人数文件“employ-data.txt”,请用排序算法对数据进行降序排序,在屏幕上显示排序后的数据结果(包括省市名称及人数),同时将排序结果写入“employ-sort.txt”文件中;然后输入要查询的“省市名称”,如果查询成功,则显示查询到的“就业人数”,否则显示“查询不成功”,直到查询者想退出程序结束。 employ-data.txt用c语言简单点

```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_PROVINCES 100 #define MAX_NAME_LEN 50 typedef struct { char name[MAX_NAME_LEN]; int employment; } Province; void bubbleSort(Province arr[], int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j].employment < arr[j + 1].employment) { Province temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } int binarySearch(Province arr[], int n, char *target) { int left = 0, right = n - 1; while (left <= right) { int mid = left + (right - left) / 2; int cmp = strcmp(arr[mid].name, target); if (cmp == 0) return mid; if (cmp < 0) left = mid + 1; else right = mid - 1; } return -1; } int main() { FILE *inputFile = fopen("employ-data.txt", "r"); FILE *outputFile = fopen("employ-sort.txt", "w"); Province provinces[MAX_PROVINCES]; int count = 0; if (!inputFile) { printf("无法打开输入文件\n"); return 1; } while (fscanf(inputFile, "%s %d", provinces[count].name, &provinces[count].employment) != EOF) { count++; if (count >= MAX_PROVINCES) break; } fclose(inputFile); bubbleSort(provinces, count); printf("排序结果:\n"); for (int i = 0; i < count; i++) { printf("%s %d\n", provinces[i].name, provinces[i].employment); fprintf(outputFile, "%s %d\n", provinces[i].name, provinces[i].employment); } fclose(outputFile); char query[MAX_NAME_LEN]; char choice; do { printf("输入查询省市名称: "); scanf("%s", query); int index = binarySearch(provinces, count, query); if (index != -1) { printf("就业人数: %d\n", provinces[index].employment); } else { printf("查询不成功\n"); } printf("继续查询? (y/n): "); scanf(" %c", &choice); } while (choice == 'y' || choice == 'Y'); return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 文件打开后必须检查是否成功 字符串比较使用strcmp而非直接比较 数组边界检查防止越界访问 [2025-11-30 23:47:20 | AI写代码神器 | 649点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多