人员管理培训课程:如何用程序识别语句之间的不同 只要有想法就行

来源:百度文库 编辑:神马品牌网 时间:2024/05/13 15:59:13
如何用C语言识别两个句子之间是不是由相同点
如“我要吃饭”和“我要上厕所'是显然不同的

识别汉语或英语均可以
只要有算法就行
并不是要求完全一样的句子
只要意思一样就行
如可以识别“我要看书”和“我要读书”是相同的意思。
而且可以识别“我要读书”和“我要吃饭”是不一样的意思

首先你需要了解一个语言的语法,比如中文语法中的
主+谓+宾语法结构,然后判断各部分的关键字

//可以自动进行字符串比较的函数。
//函数输入是两个要比较的参数
//输出是两个参数的排序关系,
//<0: 表示前一个字符串在字母表上比后一个靠前
// 或者前若干字符相同,但是串长度较短。
//0: 表示完全相同
//>0: 表示前一个字符串在字母表上比后一个靠后
// 或者前若干字符相同,但串长度更长。

#include <stdio.h>
#include <string.h>
#define Min(a,b) (a>b)?(a):(b)

int fun(char *s1, char *s2)
{
int nLen1=strlen(s1);
int nLen2=strlen(s2);
int nMin=Min(nLen1,nLen2);
int nCmp=strncmp(s1,s2,nMin);
if(nCmp==0)
{
nCmp=nLen1-nLen2;
}
return nCmp;
}

int main(int argc, char *argv[])
{
char* s1="我要吃饭";
char* s2="我想上厕所";
int nCmp=fun(s1,s2);
printf("%d",nCmp);
return 0;
}

思路:
先定义结构体,函数。
采用比较方法来分别是否相同。
比较的原理是电脑自动采用ASIIC代码来实现。

seuliu的答案完全正确