文章关键词检索及匹配度计算。
xxxx学院。
学号:1234567
姓名: 刘黄书。
指导教师:猪哥亮。
一、 课题介绍:
本课题是一次对编程知识的应用。通过对所学内容的应用,解决对文章关键字的检索及匹配度的计算这一实际应用。难点在于对文章中单词的提取与比较和对于匹配度算法的设计。
本课题有如下需求:
1、 对关键字的检索、比较与替换。
2、 对文章与关键字匹配度的计算。
本课题的意义在于通过对数组、自定义函数、数组函数的使用,解决实际生活中可能存在的问题,并加深对所学知识的理解。同时,也检验了之前的学习效果。
二、 任务总体思路:
遍历文章:在遍历时确定分隔符,遇到分隔符,直接复制该字符,遇到非分隔符,判断它的前一个字符是否为分隔符,如果是,文章总词数加一,同时提取单词,直到再次遇到分隔符,提取结束。用提取到的单词与用户输入的关键词比较:
查到关键词,统计每个关键词出现次数,同时替换关键词;未查到关键词,直接复制该单词。
遍历结束。打印关键词出现次数,计算并打印匹配度,打印替换后的新文章。
三、 关键函数及功能设计描述:
关键函数:1、匹配度计算函数:
double measure(float weightword,float numarticle)
double pipeidu;
if(weightword[0]!=0&&weightword[1]!=0&&weightword[2]!=0)
pipeidu=(weightword[0]+weightword[1]+weightword[2])/numarticle; /当文中三个关键词个数都不为零的情况。
elsereturn pipeidu;
说明:当三个关键词都出现时匹配度应该最高,所以计算只出现2个或1个关键词时分别乘了1/2,1/4,以避免单个关键词出现频率过高而是匹配度太高的情况。
2、比较提取单词与关键词的函数:
int match(char word[10],char str)
int i,j=-1;
for(i=0;i<3;i++)
return j;
3、主函数中遍历文章及提取单词的部分:
while(str1[i])
return j;
double measure(float weightword,float numarticle)
double pipeidu;
if(weightword[0]!=0&&weightword[1]!=0&&weightword[2]!=0)
pipeidu=(weightword[0]+weightword[1]+weightword[2])/numarticle;
elsereturn pipeidu;
void main()
char keyword[3][10];
cout<<"请分行输入三个不同的关键词:" for(i=0;i<3;i++) char str1=we convince1 ourselves that life will be better after we get \ married, h**e a baby. then we are frustrated2 that the kids aren't old \ enough and we'll be more content when they are. after that we're frustrated\ that we h**e teenagers to deal with. we will certainly be happy when they \ are out of that stage. we tell ourselves that our life will be complete\ when we are able to go on a nice vacation, when we retire. the truth is,\ there's no better time to be happy than right now. your life will always \ be filled with challenges3. it's best to admit this to yourself and decide\ to be happy. there is no way to happiness. happiness is the way. so, treasure \ every moment that you h**e. stop waiting stop waiting until you finish school,\ until you go back to school, until you lose ten pounds, until you gain ten \ pounds, until you h**e kids, until your kids le**e the house, until you start\ 说明 本页可以不打印 1 报告以word文档形式提交,包括电子版和纸质a4打印版,页数不少于20页。电子版文件命名方式 班级 姓名 座位序号 题目。doc。如 电信1401 第1组 张。三 利斯 王二麻子 2 报告提交截止时间 2015年06月23日17 00时。3 排版要求 1 章标题三号宋体加粗... 昆明理工大学。程序设计基础 课程。综合设计实践教学课题报告。课程名称 c语言程序设计综合大作业。课题名称 数学计算工具程序设计。组长 学号 昆明理工大学。程序设计基础 课程。综合设计实践教学课题报告。课程名称 c语言程序设计综合大作业。课题名称 数学计算工具程序设计。组长 学号 2013104013... 昆明理工大学。程序设计基础 课程。综合设计实践教学课题报告。课程名称 c语言程序设计综合大作业。课题名称 数学计算工具程序设计。组长 学号 4 姓名钟伦赋 组员 学号 1 姓名朱潘伟。学号 9 姓名陆光道。学院 信息工程与自动学院专业班级 自动化133 指导教师 郑明雄 昆明理工大学计算中心。201...C课程设计大作业
C语言实践课程综合大作业
C语言实践课程综合大作业