C 课程大作业

发布 2022-06-25 18:50:28 阅读 1689

文章关键词检索及匹配度计算。

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\

C课程设计大作业

说明 本页可以不打印 1 报告以word文档形式提交,包括电子版和纸质a4打印版,页数不少于20页。电子版文件命名方式 班级 姓名 座位序号 题目。doc。如 电信1401 第1组 张。三 利斯 王二麻子 2 报告提交截止时间 2015年06月23日17 00时。3 排版要求 1 章标题三号宋体加粗...

C语言实践课程综合大作业

昆明理工大学。程序设计基础 课程。综合设计实践教学课题报告。课程名称 c语言程序设计综合大作业。课题名称 数学计算工具程序设计。组长 学号 昆明理工大学。程序设计基础 课程。综合设计实践教学课题报告。课程名称 c语言程序设计综合大作业。课题名称 数学计算工具程序设计。组长 学号 2013104013...

C语言实践课程综合大作业

昆明理工大学。程序设计基础 课程。综合设计实践教学课题报告。课程名称 c语言程序设计综合大作业。课题名称 数学计算工具程序设计。组长 学号 4 姓名钟伦赋 组员 学号 1 姓名朱潘伟。学号 9 姓名陆光道。学院 信息工程与自动学院专业班级 自动化133 指导教师 郑明雄 昆明理工大学计算中心。201...