互联网中存在许多的不和谐词汇,在我们浏览互联网的时候,搜索引擎经常会出现提示信息“根据相关法律法规和政策,部分搜索结果未予显示”。小王同学也想制作一个自己的屏蔽词库,这样他就可以将自己不喜欢的词汇从文件中换成别的字符了。屏蔽词库是一个ASCII码文件,这个文件中只含有单词,每个单词占一行,每个单词中只可能有大小写字母与空格。题目中和谐词库的文件名为dict.dic。(屏蔽词库中每个词汇长度小于10,屏蔽词汇个数不超过10.)
你的任务是将输入中的所有和谐词库中的词语全部替换成“!@# %^&*”(按住键盘shift和数字1至8),然后输出。这里要注意,如果一个词语中包含屏蔽词汇,那么只将屏蔽词汇替换,例如“hehasAAA”被处理后将得到“he!@# %^&*AAA”,注意屏蔽词汇区分大小写,即aaa与AAA是两个不同的单词,为了使问题简化,屏蔽词汇中不会出现互相包含的情况,如“xabcx”与“abc”不会同时出现在同一个屏蔽词库中。由于小王同学很不擅长文件操作,所以他希望你能帮他制作这个屏蔽词汇程序。
注:我使用的是直接的暴力匹配算法,用指针数组存放屏蔽词,标记出要和谐的词汇,打印时替换掉,注意存储句子的passage数组开大些。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>int main()
{int count = 0, i = 0, j = 0, m = 0, n = 0, start = 0, flag = 1;FILE* fp;char** lexicon = (char**)malloc(sizeof(char*) * 10);char ch, passage[10000], *s;while ((ch = getchar()) != EOF){passage[i] = ch;i++;}passage[i] = '\0';if((fp = fopen("dict.dic", "r")) == NULL)printf("open file error!");else{while (!feof(fp)){lexicon[count] = (char*)malloc(sizeof(char) * 11);fgets(lexicon[count], 20, fp);lexicon[count][strlen(lexicon[count]) - 1] = '\0';//去掉fgets()读入得换行符if (feof(fp))break;count++;}fclose(fp);}i = 0;while (i < count){j = 0;s = lexicon[i];while (passage[j] != '\0'){if (passage[j] == s[0]){start = j;for (m = 1; s[m] != '\0'; m++){if (s[m] != passage[++j]){flag = 0;break;}}if (flag){passage[start] = '@';for (n = start + 1; n <= j; n++)passage[n] = '#';j = j + 1;}else{j = start + 1;flag = 1;}}else j++;}i++;}for (i = 0; passage[i] != '\0'; i++){if (passage[i] == '@')printf("!@#$%^&*");else if(passage[i] != '#')printf("%c", passage[i]);}return 0;
}

问题 D: 实验12_A_和谐词汇相关推荐

  1. 问题 D 实验12_A_和谐词汇

    问题 D 实验12_A_和谐词汇 题目描述 互联网中存在许多的不和谐词汇,在我们浏览互联网的时候,搜索引擎经常会出现提示信息"根据相关法律法规和政策,部分搜索结果未予显示".小王同 ...

  2. 实验12_A_和谐词汇

    题目描述 互联网中存在许多的不和谐词汇,在我们浏览互联网的时候,搜索引擎经常会出现提示信息"根据相关法律法规和政策,部分搜索结果未予显示".小王同学也想制作一个自己的屏蔽词库,这样 ...

  3. *** 花季护航 和谐测试器

    "北京大正语言知识处理科技有限公司网站上有未加密的关键字列表,虽然不是最新版,但还是可以管中窥豹,看看那些打着保护祖国花朵名号的人到底想干些什么. "黝黑"," ...

  4. 【转发重要论文】顶中区N200: 一个中文视觉词汇识别特有的脑电反应

    2019独角兽企业重金招聘Python工程师标准>>> [转发重要论文]顶中区N200: 一个中文视觉词汇识别特有的脑电反应 话说原来一直在等<科学通报>网络版发布本论文 ...

  5. 【Servlet】Filter过滤器详解、使用示例

    Filter过滤器讲解 定义 过滤器处于浏览器与servlet之间,是一个实现了 javax.servlet.Filter 接口的 Java 类 客户端发送的请求.服务器发送的资源,需要通过过滤器,才 ...

  6. 社群运营的爆款文案怎么写?

    虽说现在自媒体风行,抖音.小红书.快手.B站都是满满的视频,视频给人的既视感很强,但是我们要从源头来看,每一个爆款的视频,背后还是有文案来支撑的,就像一个剧本,要有一个编剧是一样的,只是现在的我们都被 ...

  7. 【论文写作心得体会】

    论文写作 广告 写学术论文前的准备 Do What Tips 科研工具 Latex 翻译助手 词汇使用 禁用!!! 文献管理工具 怎样写学术论文 引证 标题 摘要 关键词 文献综述 算法部分 实验部分 ...

  8. [NLU] Improving Multi-turn Dialogue Modelling with Utterance ReWriter

    总述: 主要是有一个utterance rewriter的机制,将一句话里面的省略和共指关系给找出来,然后形成一句新的话语,这样显示的声明一句话的省略部分和共指词可以提高对话系统的效果.具体来说对于t ...

  9. 面向对象分析与设计-——实验一问题陈述+词汇表(健身房系统)

     问题陈述 背景: 随着社会经济的发展和生活水平的提高,人们的营养条件得到极大程度的改善,生活方式发生了转变:人们在得到食物的满足后,注意起对体重体脂的控制,去健身房锻炼逐渐成为体重.体脂管理的重 ...

最新文章

  1. 实现tap的多种方式
  2. 《Head First Java》的思考总结:第三篇
  3. 工匠精神,缔造美国净水传奇
  4. 【数据分析】年轻人如何才能实现年薪百万呢?用数据分析来帮你探探路
  5. 计算机组成原理 华南理工,华南理工2017计算机组成原理随堂练习
  6. ES6新特性之扩展运算符
  7. 你好,SegmentFault 新导航 【开发手册】; 再见,侧边导航栏
  8. 时序分析基本概念介绍<Slew/Transition>
  9. 《Python密码学编程》——2.6 本书的文本换行
  10. 好用的多桌面间共享鼠标键盘的软件
  11. 解决征信中心密码控件无法安装
  12. Mac 安装VMware
  13. 2019初创企业投融资服务平台都有哪些?
  14. python支付宝自动支付_python 调用支付宝支付
  15. \0 的ASCII码值是多少
  16. 影响网站关键词排名效果的因素总结_搜索引擎算法汇总
  17. Unity实战之模拟飞碟
  18. 能量山水画家武湲承:搬运时空能量,聚藏山水画中
  19. 1的恋爱机会 戒指的意义:他不由自主的选择(2)
  20. 2012安卓系统大事记

热门文章

  1. ZFS - vdev label 的加载与同步
  2. 断舍离:人生从此提效30%
  3. banana PI 香蕉派 网站上线,
  4. Beego框架学习笔记01--初识Beego
  5. textarea没有value属性
  6. 导电滑环被广泛用于工业机器人系统
  7. php fpm not found,解决php-fpm.service not found问题的办法
  8. java rectangle_rectangle函数参数 java中Rectangle 的用法
  9. 移动开发者大会次日观感
  10. 成功解决:python列表转成字符串,同时自定义分隔符