头文件:

typedef struct chuan1
{char* str;int chang;int maxchang;}chuan;
int  chushi(chuan* s, int max, char* d) //动态数组方法
{if (max < strlen(d)){printf("初始化错误,MAX太小\n");return 0;}s->str = (char*)malloc(sizeof(char) * max + 1);//for (int n = 0; n < strlen(d); n++)//s->str[n] = d[n];strcpy(s->str, d);s->chang = strlen(d);s->maxchang = max;return 1;
}
void xiaohui(chuan* s)
{free(s->str);s->str = 0;}int bf(chuan s, int start, const char* z) //s主串   z子串  成功返回子串在主串的首字符下标(  >=0  ),否则返回-1
// n 为  总体 比较中子串在主串的首字符下标, i为主串正在匹配的字符下标  j为子串正在匹配的字符下标,
{int i = start;int n = i;int j = 0;while (i<s.chang ){if (s.str[i] == z[j]){i++;j++;if (strlen(z) == j) //子串完了并且在主串中找到了子串,则返回子串在主串的首字符(  >=0  )return i - j;}else{n++;i = n;j = 0;}}return -1;
}
int judge(chuan c)
{char* a=0;int flag = 0;  // flag==0 非垃圾邮件     ==1 垃圾邮件int tag = 0;    // tag==0  汉字   ==1  字母for (int i = 0; i < sum; i++){if (64 < (int)ciku[i][0] && 123 > (int)ciku[i][0])tag = 1;if (bf(c, 0, ciku[i]) != -1){flag = 1;break;}if (tag == 1){a = (char*)malloc(1 * sizeof(ciku[i]) + 1);strcpy(a, ciku[i]);if (islower(ciku[i][0]))   //是小写字母的话{strupr(a);}else{strlwr(a);}if (bf(c, 0, a) != -1){flag = 1;break;}}}free(a);//a=0;  //局部变量指针return flag;}

源文件:

#include<string.h>
#include<string>
#include<iostream>
#include<malloc.h>
using namespace std;
const char* ciku[] = { "打折"  ,"优惠","FUCK","123" };  //敏感词词库
int sum = 4;                             //若添加敏感词,需在这更改敏感词总数
#include"标头.h"
#define maxsum 100
int main()
{chuan c;char* d = (char*)malloc(sizeof(char) * maxsum);scanf("%[^\n]", d);      //  改动  1   读取字符串,遇到\n结束  这样可以读取空格之后的字符   原来的%s读到空格便会结束chushi(&c, maxsum, d);int flag = judge(c);  //判断是否为垃圾邮件,若为垃圾邮件则返回1,否则返回0if (flag == 1)printf("此邮件为垃圾邮件\n");elseprintf("此邮件为正常邮件\n");xiaohui(&c);       //  改动  2   撤销 串C  申请的动态空间free(d);  //撤销申请的动态空间d = 0;return 1;
}

简单垃圾邮件过滤系统相关推荐

  1. 机器学习工程实例 垃圾邮件过滤系统 数据预处理 训练模型 交叉验证 精准率召回率计算 步骤详细解析

    本博客所有内容均整理自<Hands-On Machine Learning with Scikit-Learn & TensorFlow>一书及其GitHub源码. 看<Ha ...

  2. 基于机器学习的垃圾邮件过滤系统

    前言: 前段时间写了篇论题:基于机器学习的垃圾邮件过滤系统,然后有童鞋问我具体实现的框架啊,那我们现在来简单说一下. 目录 前言: 一.概述 二.数据收集

  3. 论题:基于机器学习的垃圾邮件过滤系统

    目录 摘要 1.引言 2.相关工作 3.数据集与特征提取 4.机器学习模型的设计与选择 5.模型优化与融合策略 6.系统实现与应用 7.结论 本文为论题:基于机器学习的垃圾邮件过滤系统的撰写思路. 摘 ...

  4. 自己动手打造企业垃圾邮件过滤系统

    电子邮件是整个互联网业务重要的组成部分.据相关报道统计,四分之三以上的用户上网的主要目的是收发邮件,每天有十数亿封电子邮件在全球传递,其应用频率已经超过了WWW服务,因此,电子邮件已成为网络用户不可或 ...

  5. c++基于字符串匹配的垃圾邮件过滤系统

    主要内容: 1.设计一个由敏感词所组成的词库,以字符串结构存储. 2.设计一个邮件过滤系统,对邮件内容与词库中的敏感词进行模式匹配,最终返回是否垃圾邮件的标记. 3.编写一个主函数,输入一段文字模拟邮 ...

  6. 毕业设计-基于深度学习的垃圾邮件过滤系统的设计与实现

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言

  7. 基于C#的机器学习--垃圾邮件过滤

    在这一章,我们将建立一个垃圾邮件过滤分类模型.我们将使用一个包含垃圾邮件和非垃圾邮件的原始电子邮件数据集,并使用它来训练我们的ML模型.我们将开始遵循上一章讨论的开发ML模型的步骤.这将帮助我们理解工 ...

  8. 一个基于Flask框架做的仿QQ邮箱系统(收发邮件、贝叶斯模型训练、垃圾邮件过滤、个性化标签)

    一个基于Flask框架做的仿QQ邮箱系统(收发## 标题邮件.贝叶斯模型训练.垃圾邮件过滤.个性化标签) 1.贝叶斯邮件垃圾邮件分类 对上千封邮件进行贝叶斯模型分类训练,对基本邮件实现垃圾分类效果. ...

  9. WEKA使用(基础配置+垃圾邮件过滤+聚类分析+关联挖掘)

    声明: 1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Windows系统下的WEKA,实验内容主要有三部分,第一是分类挖掘(垃圾邮件过滤),第二是聚类分析, ...

最新文章

  1. 人脸识别的未来:对智慧城市有何影响
  2. JS和Jquery获取和修改label的值
  3. SSL 和 TLS 介绍
  4. App性能优化之内存优化
  5. 基于JFinal框架开发的企业办公系统-JFinalOA v1.1源码
  6. map函数作用c语言,C语言 · C++中map的用法详解
  7. python中iter函数_Python iter()函数用法详解
  8. mybatis文件中SQL总结
  9. iPhone在scrollview中双击定点放大的代码
  10. java编程式事务_Spring编程式和声明式事务实例讲解
  11. Go实现短url项目
  12. SIMIS计算机联锁系统,steam游戏sim
  13. visio2013剪除_Visio 2003 图形剪切合并 高级技巧
  14. 网络聊天室Java群聊私聊_Java Spring + Spring MVC + Mybatis WebSocket实现网络聊天室(群聊+私聊)...
  15. 《人生七年》纪录片中问的问题
  16. 循环结构中break、continue、return和exit的区别
  17. 从没想过从上帝视角看地球,竟美得如此震撼!
  18. 论文阅读Targetless Calibration of LiDAR-IMU System Based on Continuous-time Batch Optimization(含代码解读)
  19. TiggerRamDisk的超详细使用教程(亲测成功)
  20. Gradle学习之Android-DSL AppExtension篇

热门文章

  1. 慧数汽车大数据洞察:《车主评价白皮书2019》之中大型SUV篇
  2. 我打赌!!!这些奇葩好用的搜索网站你都不知道
  3. emlog_toolkit.php,博客搬家:Wp到Emlog实战经验分享
  4. 网上阅卷系统自动识别功能代码
  5. 光纤入户网络需求分析及解决方案
  6. 给头像加圣诞帽子网站源码 新增一款绿帽子
  7. python回声程序echo 一行代码_Python Socket 编程示例 Echo Server
  8. Materials Studio构建密勒晶面
  9. “好奇号”顺利完成”火星第一勺“
  10. 初访逻辑门电路的世界