文本文件操作 单词排序
在当前目录有文件“case1.in”,文件里存放有多个(总个数不超过10000个)英文单词(每个英文单词不会超过10个字文字符), 每行一个,单词未排序。现要求,将文件中的所有单词按字典顺序排序,然后将排序好的单词写入新建的文件answer.txt中(注:文件存放于当前目录)。 请完成程序,实现该功能,(注意,填空题,请不要使用return 0结束,否则会影响评判而判错)
(如case1.in文件中原内容如下)
hello
bye
yes
(程序执行后,在文件answer.txt中内容如下)
bye
hello
yes
整体思路:将文件 “case1.in" 中的单词一个一个读出来,用插入排序存入数组中,再循环写入 “answer.txt” 中。
#include "stdio.h"
#include "string.h"main()
{char origin[10000][11], temp[11];FILE *fp, *fp2;fp=fopen("“case1.in", "r");if(fp==NULL)return 1; //文件打开方式是"r",如果文件打开失败程序运行完fgets(origin[0], 11, fp); //控制台上会显示Process return 1,int n=1, i, j; //可以以此来判断文件是否正常打开while((fgets(origin[n], 11, fp))!=NULL)//每次读取一个单词,且这个单词存在数组的最后一行{i=0;if(strcmp(origin[n], origin[i])<0)//如果这个单词排在数组中第一个单词的前面{for(j=n;j>=0;j--){strcpy(origin[j+1],origin[j]);//把现有的所有单词都往后移一行}strcpy(origin[0],origin[n+1]);//把读到的单词放到数组第一个}if(strcmp(origin[n], origin[n-1])>0)//如果读到的单词排在最后,不用管,n++继续读取下一个单词{n++;continue;//}if(strcmp(origin[n], origin[i])>0)//读到的单词要放在中间{while(strcmp(origin[n], origin[i])>0){i++;//找到要插入的位置}for(j=n;j>=i;j--)//把要插入的位置之后的所有单词都往后移一行{strcpy(origin[j+1],origin[j]);}strcpy(origin[i],origin[n+1]);//再把读到的单词放到相应位置}n++;//读取下一个单词}fp2=fopen("answer.txt", "w");for(i=0;i<n;i++)//因为第n个是读取失败时的值,所以不能等于n{fputs(origin[i], fp2);//把单词循环写入到"answer.txt"中}fclose(fp);fclose(fp2);
}
文本文件操作 单词排序相关推荐
- linux下sort命令使用详解---linux将文本文件内容加以排序命令
转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...
- Linux sort --将文本文件内容加以排序
功能说明:将文本文件内容加以排序. 语 法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][ ...
- LeetCode4_编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ““。(解决方案:横向扫描、 纵向扫描 、分治 二分查找 、秀儿操作之排序比较头尾)
题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow&q ...
- 解決“无法解决 equal to 操作的排序规则冲突 ”问题
问题:在创建存储过程时 出现 "无法解决 equal to 操作的排序规则冲突 " 解决方法: 1 WHERE 列名 collate Chinese_PRC_CI_AS(强制指定排 ...
- C++文本文件操作和二进制文件读写
文本文件操作: 代码如下: #include <iostream> #include <fstream> using namespace std;void test01() { ...
- 1.10 编程基础之简单排序_10 单词排序
http://noi.openjudge.cn/ch0110/10/ /* 1.10 编程基础之简单排序_10 单词排序 http://noi.openjudge.cn/ch0110/10/总时间限制 ...
- 1.10 编程基础之简单排序 10 单词排序 python
http://noi.openjudge.cn/ch0110/10/ """ 1.10 编程基础之简单排序 10 单词排序 http://noi.openjudge.cn ...
- 信息学奥赛一本通 1185:单词排序 | OpenJudge NOI 1.10 10:单词排序
[题目链接] ybt 1185:单词排序 OpenJudge NOI 1.10 10:单词排序 [题目考点] 1. 排序 [君义精讲]排序算法 2. 字符串比较 字符数组比较: char s1[N], ...
- 信息学奥赛一本通(1185:单词排序)
1185:单词排序 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 11964 通过数: 6009 [题目描述] 输入一行单词序列,相邻单词之间由1个或多个 ...
最新文章
- mysql 商品属性_MySQL产品属性表设计
- 基于HMM的中文分词
- ab st语言编程手册_西门子PLC编程SCL和LAD谁才是王者?一起讨论一下
- MITRE 发布防御知识库 Shield
- LIRe 源代码分析 7:算法类[以颜色布局为例]
- 2019全国知识图谱与语义计算大会
- 怎么用proteus软件仿真单片机程序?
- Java初学01:学习路线,韩顺平java教程百度云
- 《白帽子讲web安全》读书笔记_2021-07-16
- android 打电话区号,Android Q新功能首曝:漫游自动加拨国际区号
- 佛说:前世的五百次回眸,才换来今生的一次擦肩而过
- 数据库系统概念 - 数据模型,关系模型,关系,候选码,主码,外码
- C语言开发必会 宏定义、宏函数
- Ubuntu 设置固定 IP 最简单的方法!
- python下载某网站收费文档(一)——配合fiddler半自动版
- 自己写strcmp( )函数
- 从官网下载mysql 5.7
- Linux中写C代码进行文件读写与权限修改等各类操作
- 微信小程序page页面下有多余空白区域(解决方法)
- 昆明理工大学计算机调剂贴吧,昆明理工大学2020年硕士研究生调剂公告(二)...
热门文章
- 大数据揭秘区块链人才大迁徙:那个你身边悄悄离职的人去哪儿了?
- Java腐烂的橘子leetcode
- python 期货策略_Python版商品期货跨期布林对冲策略 (教学)
- Android Excel(xls,xlsx)表格数据简单生成和读取尝试
- RTSP协议网络摄像头互联网无插件直播EasyNVR+EasyNVS,如何保持配置地址一致?
- 小米电视怎么看cctv?安装小鲸电视免广告教程值得看
- Python实操笔记(2)——海龟绘图法绘制有层次感的奥运五环
- 干货|Stakeholder利益相关者讲解
- 怎样设置二维码的尺寸
- Windows SUS