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

每日一题——第九十四题

// SortNumInFile.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。
//

题目:将一个文本文件number.txt中的数字按照从小到大排列后,重新写入到该文件中,要求排序前和排序后都输出该文件的内容。该文件中共有20个整数,每个整数占一行。

#include<stdio.h>
#include<stdlib.h>
void bubbleSort(int arr[], int length);
void swap(int* a, int* b);
int main() {FILE* file = fopen("number.txt", "r");if (file == NULL) {perror("文件number.txt打开失败!");return EXIT_FAILURE;}int numbers[20];int count = 0;//读取文件的所有整数while (fscanf(file, "%d", &numbers[count]) != EOF && count < 20) {count++;}//输出排序前的文件内容printf("排序前的内容为:\n");for (int i = 0; i < count; i++){printf("%d\n", numbers[i]);}fclose(file);//先关闭文件,因为即将要重写它bubbleSort(numbers, count);file = fopen("number.txt", "w");//以写的方式打开if (file == NULL) {perror("文件打开写入失败");return EXIT_FAILURE;}//将排序后的数据写回文件,一行一个数字for (int i = 0; i < count; i++){fprintf(file, "%d\n", numbers[i]);}fclose(file);//关闭文件//再重新打开文件读取内容file = fopen("number.txt", "r");if (file == NULL) {perror("文件打开读取失败");return EXIT_FAILURE;}//输出排序后的文件内容printf("排序后的内容为:\n");for (int i = 0; i < count; i++){printf("%d\n", numbers[i]);}fclose(file);//读取完成后,再关闭文件return 0;
}void bubbleSort(int arr[], int length) {for (int i = 0; i < length - 1; i++){for (int 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] = temp;}}}
}void bubbleSort(int arr[], int length) {for (int i = 0; i < length - 1; i++){for (int j = 0; j < length - (i + 1); j++) {if (arr[j] > arr[j + 1]) {swap(&arr[j], &arr[j + 1]);}}}
}void swap(int* a, int* b){int temp = *a;*a = *b;*b = temp;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python:抓取 Bilibili(B站)评论、弹幕、字幕等
  • go 以太坊代币查余额
  • 408算法题leetcode--第六天
  • 【系统架构设计师-2015年真题】案例分析-答案及详解
  • k8s(kubernetes)的PV / PVC / StorageClass(理论+实践)
  • 梧桐数据库(WuTongDB):RBO(Rule-Based Optimizer)优化器简介
  • COTERRORSET—— LLM训练新基准让模型从自身错误中学习
  • leetcode - 分治思想
  • 前后端数据交互 笔记03(get和post方法)
  • hku-mars雷达相机时间同步方案-软件驱动(MID360与海康MV-CB060-10UMUC-S)
  • [Redis] Redis中的Hash类型和List类型
  • 【CTF Web】BUUCTF BUU UPLOAD COURSE 1 Writeup(文件上传+PHP+文件包含漏洞)
  • 泛微E10产品二开
  • OrionX GPU算力池助力AI OCR场景应用
  • 鹏哥C语言36-37---循环/分支语句练习(折半查找算法)
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • JavaScript中的对象个人分享
  • JAVA并发编程--1.基础概念
  • Mysql优化
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 构建工具 - 收藏集 - 掘金
  • 世界上最简单的无等待算法(getAndIncrement)
  • -- 数据结构 顺序表 --Java
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​Java基础复习笔记 第16章:网络编程
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • # 安徽锐锋科技IDMS系统简介
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (C#)获取字符编码的类
  • (C语言)逆序输出字符串
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (三)c52学习之旅-点亮LED灯
  • (四)c52学习之旅-流水LED灯
  • (四)js前端开发中设计模式之工厂方法模式
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • 、写入Shellcode到注册表上线
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 发展历程
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET周刊【7月第4期 2024-07-28】
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • @SuppressLint(NewApi)和@TargetApi()的区别