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. LayoutParams cannot be resolved to a type
  2. python入门编程软件免费-Python编程干货免费领取!!!
  3. java jpopupmenu事件_Java+Swing+常用事件和监听器接口
  4. 皮肤的实时3S渲染(OpenGL + GLSL)
  5. CVE-2009-3459
  6. 用友U9执行JS代码。
  7. Spring MVC 登录拦截器
  8. 对比Ruby和Python的垃圾回收(2):代式垃圾回收机制
  9. 计算方法matlab编程徐萃薇,计算方法课程设计--用Newton插值多项式处理磁化曲线.docx...
  10. Yii2 源码分析 - 入口文件执行流程
  11. Uber地图部门三员大将离职创业,要解决无人驾驶出租车的派单问题
  12. Hadoop - 任务调度系统比较
  13. hdu 1242 找到朋友最短的时间 (BFS+优先队列)
  14. SQLyog入门教程:安装与使用
  15. 《看聊天记录都学不会C语言?太菜了吧》(3)人艰不拆,代码都在谈恋爱?!
  16. 「前端代码简洁之路」后台系统之详情页设计
  17. 08.29web自动化测试
  18. Android 属性动画使用(二)
  19. TDH添加自定义参数
  20. 简单的网页设计,以学校官网为例

热门文章

  1. python实现基于SIFT算法的图像配准(仿射变换)
  2. 怎么将html转换为mfc,MFC 创建HTML格式数据并显示
  3. 戴尔1420装XP方法和驱动
  4. 轨迹(形状)相似性判断与度量方法
  5. 微信小程序,画布中,根据需要展示的图片比例,获取能截取原图中的最大图片尺寸,并且不变形展示
  6. PPT制作3D绘图(1)
  7. scp 命令简明介绍
  8. 小红书流量红利词「0基础」实操手册
  9. TabTransformer:用于表格数据的Transformer
  10. 《当我谈跑步时我谈些什么》书摘