酷代码 AI
菜单
服务商

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

```c #include <stdio.h> #include <stdlib.h> #include <string.h> // 定义一个结构体来存储省市名称和就业人数 typedef struct { char name[50]; int population; } Province; // 交换两个Province结构体变量的值 void swap(Province *a, Province *b) { Province temp = *a; *a = *b; *b = temp; } // 冒泡排序函数,对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].population < arr[j + 1].population) { swap(&arr[j], &arr[j + 1]); } } } } // 主函数 int main() { FILE *inputFile, *outputFile; Province provinces[100]; int count = 0; char query[50]; // 打开输入文件 inputFile = fopen("employ-data.txt", "r"); if (inputFile == NULL) { printf("无法打开输入文件。\n"); return 1; } // 从输入文件中读取数据 while (fscanf(inputFile, "%s %d", provinces[count].name, &provinces[count].population) != EOF) { count++; } fclose(inputFile); // 对数据进行降序排序 bubbleSort(provinces, count); // 打开输出文件 outputFile = fopen("employ-sort.txt", "w"); if (outputFile == NULL) { printf("无法打开输出文件。\n"); return 1; } // 在屏幕上显示排序后的数据,并将其写入输出文件 for (int i = 0; i < count; i++) { printf("%s %d\n", provinces[i].name, provinces[i].population); fprintf(outputFile, "%s %d\n", provinces[i].name, provinces[i].population); } fclose(outputFile); // 循环进行查询操作 while (1) { printf("请输入要查询的省市名称(输入'退出'结束查询):"); scanf("%s", query); if (strcmp(query, "退出") == 0) { break; } int found = 0; for (int i = 0; i < count; i++) { if (strcmp(provinces[i].name, query) == 0) { printf("查询到的就业人数为:%d\n", provinces[i].population); found = 1; break; } } if (!found) { printf("查询不成功\n"); } } return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 文件操作时要检查文件是否成功打开,避免因文件打开失败而导致程序崩溃。 2. 字符串比较时要使用`strcmp`函数,不能直接用`==`进行比较。 3. 循环查询时要注意退出条件的设置,避免陷入无限循环。 [2025-12-01 00:03:22 | AI写代码神器 | 791点数解答]

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