当前位置: 首页 > news >正文

每日一题——第三十五题

题目:有一个文本文件numbers.txt,其中有20个整数,每个整数占一行,编写程序将这些整数从小到大顺序排好后,重新写入到该文件中, 要求排序前和排序后都要输出该文件的内容。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {FILE* fp_read;FILE* fp_write;char str_nums[20];//用来接收读取到的整数const char* filePath = "E:\\numbers.txt";fp_read = fopen(filePath, "r"); //以读的方式打开文件fp_write = fopen(filePath, "w");//以写的方式打开文件if (fp_read == NULL) {perror("文件打开失败!");return EXIT_FAILURE;}//循环读取直到字符串结束while(fp_read !=NULL) {if (fgets(str_nums, sizeof(str_nums), fp_read) == NULL) {break;}}//打印读取到的未排序前的值:for (int i = 0; i < 10; i++) {printf("%c", str_nums[i]);}int* intArray = charArrayToIntArray(str_nums, 20);//将char数组转为int型数组//对intArray数组元素排序bubbleSort(intArray, 20);//对数组元素进行冒泡排序//将数组元素写入文件numbers.txt// 将排序后的整数写回到文件  for (int i = 0; i < 20; i++) {fprintf(fp_write, "%d\n", intArray[i]);}//打印排序完的数组元素if (intArray != NULL) {for (int i = 0; i < 20; i++) {printf("%d ", intArray[i]);}printf("\n");}// 释放分配的内存  free(intArray);fclose(fp_read);fclose(fp_write);return 0;
}/// <summary>
/// charArrayToIntArray
/// </summary>
/// <param name="charArray">字符数组</param>
/// <param name="size">大小</param>
/// <returns></returns>
int* charArrayToIntArray(char* charArray, int* size) {// 计算字符数组的长度  int length = strlen(charArray);// 分配足够的内存来存储int数组  int* intArray = (int*)malloc(length * sizeof(int));if (intArray == NULL) {// 内存分配失败  *size = 0;return NULL;}// 遍历字符数组,将每个字符转换为int并存储  for (int i = 0; i < length; i++) {// 通过charArray[i] - '0'来将字符转换为对应的整数值  intArray[i] = charArray[i] - '0';}// 设置返回的数组大小  *size = length;return intArray;
}
/// <summary>
/// 冒泡升序排列
/// </summary>
/// <param name="arr">待排序数组</param>
/// <param name="length">长度</param>
void bubbleSort(int* arr, int length) {for (int i = 0; i < length - 1; i++) {for (j = 0; j < length - (i + 1); j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = arr[j];}}}}

相关文章:

每日一题——第三十五题

题目&#xff1a;有一个文本文件numbers.txt&#xff0c;其中有20个整数&#xff0c;每个整数占一行&#xff0c;编写程序将这些整数从小到大顺序排好后&#xff0c;重新写入到该文件中&#xff0c; 要求排序前和排序后都要输出该文件的内容。 #include<stdio.h> #inclu…...

Echarts 柱状图实现同时显示百分比+原始值+汇总值

原始效果&#xff1a;柱状图 二开效果&#xff1a; 核心逻辑 同时显示百分比和原始值 label: {show: true,position: inside,formatter: (params) > {const rawValue rawData[params.seriesIndex][params.dataIndex];const percentage Math.round(params.value * 1000) / …...

嵌入式学习Day13---C语言提升

目录 一、二级指针 1.1.什么是二级指针 2.2.使用情况 2.3.二级指针与数组指针 二、指针函数 2.1.含义 2.2.格式 2.3.注意 2.4.练习 三、函数指针 3.1.含义 3.2.格式 3.3.存储 3.4.练习 ​编辑 四、void*指针 4.1.void缺省类型 4.2.void* 4.3.格式 4.4.注…...

Mysql随记

1.对表mysql.user执行DML语句&#xff08;数据操作语言&#xff09;&#xff0c;那么此时磁盘数据较新&#xff0c;需要手动执行flush privileges 语句来覆盖内存中的授权数据。其他的DDL&#xff08;数据操作语言&#xff09;,DQL&#xff08;数据查询语言&#xff09;,DCL(数…...

wire和reg的区别

在 Verilog 中&#xff0c;wire 和 reg 是两种不同的数据类型&#xff0c;用于表示信号或变量。它们在 Verilog 中的使用场景和行为有一些区别&#xff1a; ### wire&#xff1a; - wire 类型用于连接组合逻辑电路中的信号&#xff0c;表示电路中的连线或信号传输线。 - wire …...

c语言第四天笔记

关于 混合操作&#xff0c;不同计算结果推理 第一种编译结果&#xff1a; int i 5; int sum (i) (i) 6 7 13 第二种编译结果&#xff1a; int i 5; int sum (i) (i) 6 7 7 7 前面的7是因为后面i的变化被影响后&#xff0c;重新赋值 14 第一种编译结果&#xff…...

Hive——UDF函数:高德地图API逆地理编码,实现离线解析经纬度转换省市区(离线地址库,非调用高德API)

文章目录 1. 需求背景数据现状业务需求面临技术问题寻求其他方案 2. 运行环境软件版本Maven依赖 3. 获取离线地址库4. Hive UDF函数实现5. 创建Hive UDF函数6. 参考 1. 需求背景 数据现状 目前业务系统某数据库表中记录了约3亿条用户行为数据&#xff0c;其中两列记录了用户触…...

深入解析PHP框架:Symfony框架的魅力与优势

嘿&#xff0c;PHP开发者们&#xff01;今天我们要聊一聊PHP世界中的一颗闪亮明星——Symfony框架。无论是初学者还是经验丰富的开发者&#xff0c;Symfony都为大家提供了强大的工具和灵活的特性。那就跟着我一起&#xff0c;来探索这个强大的PHP框架吧&#xff01; 一、什么是…...

Go语言实战:基于Go1.19的站点模板爬虫技术解析与应用

一、引言 1.1 爬虫技术的背景与意义 在互联网高速发展的时代&#xff0c;数据已经成为新的石油&#xff0c;而爬虫技术则是获取这种“石油”的重要工具。爬虫&#xff0c;又称网络蜘蛛、网络机器人&#xff0c;是一种自动化获取网络上信息的程序。它广泛应用于搜索引擎、数据分…...

5个ArcGIS图源分享

数据是GIS的血液。 我们在《15个在线地图瓦片URL分享》一文中为你分享了15个地图瓦片URL链接&#xff0c;现在再为你分享5个能做ArcGIS中直接加载的图源&#xff01; 并提供了能直接在ArcMAP和ArcGIS Pro的文件&#xff0c;如果你需要这些ArcGIS图源&#xff0c;请在文末查看…...

科普文:万字梳理31个Kafka问题

1、 kafka 是什么,有什么作用 2、Kafka为什么这么快 3、Kafka架构及名词解释 4、Kafka中的AR、ISR、OSR代表什么 5、HW、LEO代表什么 6、ISR收缩性 7、kafka follower如何与leader同步数据 8、Zookeeper 在 Kafka 中的作用&#xff08;早期&#xff09; 9、Kafka如何快…...

Unity UGUI 实战学习笔记(4)

仅作学习&#xff0c;不做任何商业用途 不是源码&#xff0c;不是源码! 是我通过"照虎画猫"写的&#xff0c;可能有些小修改 不提供素材&#xff0c;所以应该不算是盗版资源&#xff0c;侵权删 登录面板UI 登录数据逻辑 这是初始化的数据变量脚本 using System.…...

Python学习和面试中的常见问题及答案

整理了一些关于Python和机器学习算法的高级问题及其详细答案。这些问题涵盖了多个方面&#xff0c;包括数据处理、模型训练、评估、优化和实际应用。 一、Python 编程问题 解释Python中的装饰器&#xff08;Decorators&#xff09;是什么&#xff1f;它们的作用是什么&#xf…...

Mysql-索引视图

目录 1.视图 1.1什么是视图 1.2为什么需要视图 1.3视图的作用和优点 1.4创建视图 1.5更新视图 1.6视图使用规则 1.7修改视图 1.8删除视图 2.索引 2.1什么是索引 2.2索引特点 2.3索引分类 2.4索引优缺点 2.5创建索引 2.6查看索引 2.7删除索引 1.视图 1.1什么是…...

电子签章-开放签应用

开放签电子签章系统开源工具版旨在将电子签章、电子合同系统开发中的前后端核心技术开源开放&#xff0c;适合有技术能力的个人 / 团队学习或自建电子签章 \ 电子合同功能或应用&#xff0c;避免研发同仁在工作过程中重复造轮子&#xff0c;降低电子签章技术研发要求&#xff0…...

Ubuntu下设置文件和文件夹用户组和权限

在 Ubuntu 上&#xff0c;你可以使用 chmod 和 chown 命令来设置当前文件夹下所有文件的权限和所有者。 设置权限&#xff1a; 使用 chmod 命令可以更改文件和目录的权限。例如&#xff0c;要为当前文件夹下的所有文件和子目录设置特定权限&#xff0c;可以使用以下命令&#x…...

JavaSE从零开始到精通(九) - 双列集合

1.前言 Java 中的双列集合主要指的是可以存储键值对的集合类型&#xff0c;其中最常用的包括 Map 接口及其实现类。这些集合允许你以键值对的形式存储和管理数据&#xff0c;提供了便捷的按键访问值的方式。 2. HashMap HashMap 是基于哈希表实现的 Map 接口的类&#xff0c…...

探索 OpenAI GPT-4o Mini:开发者的高效创新工具

探索 OpenAI GPT-4o Mini&#xff1a;开发者的高效创新工具 最近&#xff0c;OpenAI 推出了全新的 GPT-4o Mini 模型&#xff0c;以其出色的性能和极具吸引力的价格&#xff0c;引起了开发者们的广泛关注。作为开发者&#xff0c;你是否已经开始探索这个“迄今为止最具成本效益…...

藏文词典查单词,藏汉双语解释,推荐使用《藏语翻译通》App

《藏语翻译通》App推出了藏文词典、藏汉大词典、新术语等全新在线查单词功能。 藏汉互译 《藏语翻译通》App的核心功能之一是藏汉互译。用户只需输入中文或藏文&#xff0c;即可获得翻译结果。 藏文词典查单词 掌握一门语言&#xff0c;词汇是基础。《藏语翻译通》App内置藏…...

【机器学习基础】初探机器学习

【作者主页】Francek Chen 【专栏介绍】⌈Python机器学习⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;依赖于强大的开…...

Playwright MCP配置决策树:企业级浏览器自动化选型指南

1. 这不是又一篇“选型对比”&#xff0c;而是我在三个真实项目里踩出来的配置决策树你点开这篇&#xff0c;大概率正被一个问题卡住&#xff1a;团队刚决定用 Playwright 做浏览器自动化&#xff0c;但没人能说清——到底该用它自带的 test runner&#xff1f;还是套一层 MCP&…...

AlphaEvolve:LLM与进化算法融合的自动代码优化系统

1. 项目概述&#xff1a;AlphaEvolve系统架构与核心思想AlphaEvolve代表了当前算法自动优化领域最前沿的技术突破。这个由Google DeepMind团队开发的系统&#xff0c;创造性地将大语言模型(LLM)的代码生成能力与进化算法的迭代优化机制相结合&#xff0c;形成了一个自主进化的编…...

Godot 4.2小课堂:用TileMap图层和AStarGrid2D,5分钟搞定一个可交互的2D导航Demo

Godot 4.2极简导航实战&#xff1a;5分钟构建TileMap智能寻路系统在游戏开发中&#xff0c;2D导航系统是构建沉浸式体验的核心组件之一。Godot 4.2引擎提供的TileMap与AStarGrid2D组合&#xff0c;为开发者提供了一套轻量级却功能强大的解决方案。本文将带你快速实现一个可交互…...

Windows关机修复机制:漏洞补丁静默安装原理与实操

1. 这不是“一键修复”&#xff0c;而是系统级补丁调度机制的落地实践很多人看到“360安全卫士漏洞修复全新升级”这个标题&#xff0c;第一反应是&#xff1a;又一个弹窗广告式功能更新。但如果你真点开设置页、翻过日志、对比过前后两次关机流程的系统行为&#xff0c;就会发…...

量子计算误差缓解技术:从原理到实践

1. 量子计算误差缓解技术概述量子计算正从实验室走向实际应用&#xff0c;但噪声问题始终是制约其发展的关键瓶颈。在NISQ&#xff08;噪声中等规模量子&#xff09;时代&#xff0c;量子比特数量虽已突破百位大关&#xff0c;但错误率仍居高不下。误差缓解技术&#xff08;Err…...

TunaMH算法:基于谱间隙优化的小批量MCMC精确采样

1. 项目概述&#xff1a;当MCMC遇见大数据&#xff0c;我们如何“精打细算”地采样&#xff1f;搞贝叶斯推断或者统计计算的朋友&#xff0c;对马尔可夫链蒙特卡洛&#xff08;MCMC&#xff09;肯定不陌生。这玩意儿就像个不知疲倦的探险家&#xff0c;在复杂的概率分布地形里四…...

如何用TestDisk和PhotoRec拯救丢失数据:3分钟快速诊断与完整恢复指南

如何用TestDisk和PhotoRec拯救丢失数据&#xff1a;3分钟快速诊断与完整恢复指南 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 数据丢失是每个计算机用户都可能遇到的噩梦场景&#xff0c;但幸运的是&…...

miniblink49浏览器内核:企业级打印与PDF生成技术架构深度解析

miniblink49浏览器内核&#xff1a;企业级打印与PDF生成技术架构深度解析 【免费下载链接】miniblink49 a lighter, faster browser kernel of blink to integrate HTML UI in your app. 一个小巧、轻量的浏览器内核&#xff0c;用来取代wke和libcef 项目地址: https://gitco…...

艾尔登法环存档迁移终极指南:3步安全转移你的游戏角色

艾尔登法环存档迁移终极指南&#xff1a;3步安全转移你的游戏角色 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier EldenRingSaveCopier 是一款专为《艾尔登法环》玩家设计的存档角色迁移工具&#xff0c;能够…...

ChatGPT新闻稿写作终极模板包(含敏感词实时拦截表+信源可信度打分卡+记者视角反问清单):仅开放前500份

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;ChatGPT新闻稿写作终极模板包概览 本模板包专为公关、市场与内容团队设计&#xff0c;整合了新闻稿结构化框架、语义优化提示词库、合规性检查清单及多平台适配输出模块&#xff0c;支持从初稿生成到终稿发布…...