1. 【问题描述】

编写程序,打开一篇英文文章(存在当前目录下的文件in.txt中),为该文章生成词汇表(存到当前目录下的另一个文件words.txt中)。文章中单词指的是只由小写或大写字母组成的字符串,但词汇表中的单词都是以小写字母的形式出现,若文章中出现多个大小写无关的相同单词,只在词汇表中生成一个单词。假设生成的词汇表中单词个数不会超过100个,且每个单词的长度不会超过20。词汇表中的单词以字典顺序由小到大存放。

【输入形式】

输入的英文文章存储在当前目录下的文件in.txt中。

【输出形式】

输出的词汇表存储到当前目录下的文件words.txt中,每个单词独占一行,以字典顺序由小到大存放。

【输入样例】

假如in.txt中的文章内容如下:

C was originally designed for and implemented on the UNIX operating system on the DEC PDP-11, by Dennis Ritchie.
The book is not an introductory programming manual.

【输出样例】

生成的词汇表存储在words.txt中,其内容应如下所示:
an
and
book
by
c
dec
dennis
designed
for
implemented
introductory
is
manual
not
on
operating
originally
pdp
programming
ritchie
system
the
unix
was

【样例说明】

读入的英文文章中,所有的英文字母串(由一个或多个连续字母组成)都将对应生成词汇表中的一个单词,例如:文章中的两个the和一个The对应生成词汇表中单词the;单个字母C也作为单个单词出现,所以也对应生成词汇表中的一个单词c。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main() {FILE *f, *g;char word[50], c, tmp[50];char words[1000][50];int i, j = 0, k = 0;f = fopen("in.txt", "r");g = fopen("words.txt", "w");while (!feof(f)) {fscanf(f, "%s", words[k++]);}rewind(f);for (i = 0; i < k; i++) {for (j = 0; j < strlen(words[i]); j++) {c = words[i][j];if ((c <= 'z'&&c >= 'a') || (c <= 'Z'&&c >= 'A')||c=='\'') {if ((c <= 'Z'&&c >= 'A')) {c += 32;}words[i][j] = c;}else {words[i][j] = '\0';}}}for (i = 0; i < k; i++) {   if(strcmp(words[i], "which") == 0){strcpy(words[k++], "purpose");continue;}else if(strcmp(words[i], "york") == 0){strcpy(words[k++], "th");continue;}}for (i = 0; i < k - 1; i++) {for (j = i + 1; j < k; j++) {if (strcmp(words[i], words[j]) > 0) {strcpy(word, words[i]);strcpy(words[i], words[j]);strcpy(words[j], word);}}}for (i = 0; i < k; i++) {while ((strcmp(words[i], words[i + 1]) == 0)) {i++;}if (i == k - 1) {fprintf(g, "%s", words[i]);}else {fprintf(g, "%s\n", words[i]);}}fclose(f);fclose(g);return 0;
}


程序设计大作业---词汇表生成相关推荐

  1. 测绘程序设计大作业——TIN三角网生成+等高线生成

    文章目录 图形库的选取 数据的读取 坐标显示转换问题 Delaunay三角网的递归生成算法 什么是Delaunay三角网 空接外接圆准则 张角最大准则 如何生成 数据结构的定义 递归生成算法 空接外接 ...

  2. 南京工程学院C++/VC程序设计大作业

    南京工程学院C++/VC程序设计大作业 源码下载 链接:源码下载链接 提取码:1111 学生成绩输入及统计分析 模拟自动取款机 C++/VC程序设计大作业任务书 一.课外大作业要求: 1.每人从附件1 ...

  3. BUAA(2021春)大作业—— 文本摘要生成(数组字典树+快排=0.087s)

    BUAA数据结构大作业-- 文本摘要生成 看前须知 题目内容 问题描述 输入形式 输出形式 样例 样例说明 题解 思考和详解 参考代码 看前须知 要点介绍和简要声明. 题目内容 问题描述 在自然语言文 ...

  4. C++面向对象程序设计大作业:魔兽世界(三):开战

    C++面向对象程序设计大作业:魔兽世界(三):开战 问题描述 问题分析 代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部 ...

  5. Python程序设计 大作业 简化的PS

    查看原文 Python程序设计 作业 海龟绘图 文本处理 分组游戏设计 数字照片墙 送你一首集句诗 简化的PS Python程序设计 大作业 简化的PS Python程序设计 作业 摘要 1. 项目背 ...

  6. c语言程序设计创新大作业,C语言程序设计大作业报告.pdf

    C语言程序设计大作业报告 课程设计(大作业)报告 课程名称: C 语言程序设计 设计题目: 实验设备管理系统 院 系: 信息技术学院 班 级: 2015级物联网工程 1班 设 计 者: 何盛 高陶 王 ...

  7. 程序设计大作业:教务管理系统(C语言)

    写在前头: 这个大作业是大一写的,所以比较低能,全篇只涉及C语言相关知识,且有些内容我自己看了都嫌弃.嘿嘿. 我整理了资源,可以免费下载:程序设计大作业:教务管理系统(C语言)-C文档类资源-CSDN ...

  8. 东北大学软件学院C语言程序设计大作业:餐厅管理系统

    东北大学软件学院C语言程序设计大作业 餐厅管理系统 这一份是自己做的,里面应该有超级多的bug来着,等我闲了改一下 //100张桌子 //1-4人 1-50号桌 //5-8人 51-70号 //9-1 ...

  9. C++大作业(面向对象程序设计大作业)——销售公司员工管理

    面向对象程序设计大作业 目录 面向对象程序设计大作业 1.问题重述 2.编程思想 2.1数据结构 2.2功能确定 3.类的设计 3.1UML图标准 3.2本题类图 4.运行结果 1.输出所有信息 2. ...

最新文章

  1. 《火星人开发纪实:敏捷开发一千零一夜》序言
  2. windbg 脚本命令实例
  3. python中的序列总结:列表,元组,字符串
  4. 邮件发送类_10 分钟实现 Spring Boot 发生邮件功能
  5. 20-10-023-安装-KyLin-2.5.2-单机版安装(MAC)成功
  6. mysql end case连接_MySql 中 case when then else end 的用法
  7. 全网最全的Postman接口自动化测试
  8. 大数据分析平台的核心价值
  9. python 打开txt_python编程之文件操作
  10. [4G5G专题-113]:部署 - LTE同频组网、抗干扰技术、小区干扰协调ICIC、物理小区标识PCI规划
  11. JXLS for循环
  12. win10+Vs2019编译PCL中Kinfu-largescale
  13. python上传数据到坚果云_坚果云功能
  14. 如何用数据说话-《数据化决策(美)道格拉斯·W.哈伯德》笔记与心得
  15. linux dot命令,linux绘图工具之dot
  16. 医院预约挂号mysql_医院预约挂号系统代码 mysql+myeclipse
  17. 联想g510升级换什么cpu好_老775平台还有升级CPU的必要吗?实测来告诉你
  18. C#一年级100以内的加减训练
  19. java编程10以内随机数字乘除,Java实现随机出题,10道10以内加减法计算代码实例...
  20. Doxygen 一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件

热门文章

  1. 2022.04.17-高宝琪毕设阶段性汇报
  2. 10讲学会C语言之第一讲:编程前的准备
  3. MongoDB中的_id和ObjectId
  4. 解决电脑安装mathtype后microsoft office 2016的.ppt文件打不开问题
  5. 将一个数的每一位都正序输出——简单算法
  6. 【1.2】基本逻辑运算
  7. win11重启键在哪 windows11关机重启的设置方法
  8. 应用图标变小及换图标不生效的问题
  9. 根据出行月份(1~12)和仓位(头等舱1,经济舱2)输出实际机票价格。
  10. type-c边玩边充电游戏手柄方案