C语言实战项目(AI代码)

简介: C语言实战项目(AI代码)

是的,你没有听错,用C语言编写一个简单的AI代码,功能十分简单,仅供娱乐,重要的是其中有几个实用性较强的自定义函数

废话不多说,先上代码

#include <stdio.h>
#include <string.h>
//转换大小写
void RemoveLetter(char* str);
//删除多余空格
void RemoveSpace(char* str);
//疑问词转换
void TurnInterrogativewords(char* str);
//问号转成感叹号
void TurnSymbol(char* str);
//第一人称改第二人称
void TurnFirstperson(char* str);
void RemoveLetter(char* str)
{
  for (int i = 0; str[i] != '\0'; i++)
  {
    if (str[i] >= 'A' && str[i] <= 'Z' && str[i] != 'I')
    {
      str[i] += 32;
    }
  }
}
void RemoveSpace(char* str)
{
  char* p = str;
  int i = 0;
  while (*p)
  {
    if (str[0] == ' ')
      p++;
    if ((*(p + 1) < 'a' || *(p + 1) > 'z') && (*(p + 1) < 'A' || *(p + 1) > 'Z') && (*(p + 1) < '0' || *(p + 1) > '9'))
    {
      if (*p == ' ')
        p++;
    }
    if (*(p + 1) == '\0' && *p == ' ')
      break;
    str[i++] = *p;
    if (*p == ' ')
    {
      int count = 0;
      int j = 0;
      for (j = 0;; j++)
      {
        if (*(p + j) == ' ')
          count++;
        else break;
      }
      p += count - 1;
    }
    p++;
  }
  str[i] = '\0';
}
void TurnInterrogativewords(char* str)
{
  char* p = str;
  int k = 0;
  while (*p)
  {
    str[k++] = *p;
    if ((*p == 'c' || *p == 'C') && (*(p - 1) == ' ' || (*(p - 1) < 'a' || *(p - 1) > 'z') && (*(p - 1) < 'A' || *(p - 1) > 'Z') && (*(p - 1) < '0' || *(p - 1) > '9')))
    {
      if (*(p + 1) == 'a' && *(p + 2) == 'n' && *(p + 3) == ' ' && *(p + 4) == 'y' && *(p + 5) == 'o' && *(p + 6) == 'u' && (*(p + 7) == ' ' || (*(p + 7) < 'a' || *(p + 7) > 'z') && (*(p + 7) < 'A' || *(p + 7) > 'Z') && (*(p + 7) < '0' || *(p + 7) > '9')))
      {
        char ch1[] = "I can  ";
        int i = 0;
        for (i = 0; ch1[i] != '\0'; i++)
        {
          *(p + i) = ch1[i];
        }
      }
      if (*(p + 1) == 'o' && *(p + 2) == 'u' && *(p + 3) == 'l' && *(p + 4) == 'd' && *(p + 5) == ' ' && *(p + 6) == 'y' && *(p + 7) == 'o' && *(p + 8) == 'u' && (*(p + 9) == ' ' || (*(p + 9) < 'a' || *(p + 9) > 'z') && (*(p + 9) < 'A' || *(p + 9) > 'Z') && (*(p + 9) < '0' || *(p + 9) > '9')))
      {
        char ch2[] = "I could  ";
        int i = 0;
        for (i = 0; ch2[i] != '\0'; i++)
        {
          *(p + i) = ch2[i];
        }
      }
    }
    p++;
  }
  str[k] = '\0';
}
void TurnSymbol(char* str)
{
  char* p = str;
  int i = 0;
  while (*p)
  {
    if (*p == '?')
      *p = '!';
    str[i++] = *p;
    p++;
  }
  str[i] = '\0';
}
void TurnFirstperson(char* str)
{
  char* p = str;
  int j = 0;
  while (*p)
  {
    char ch[] = "you";
    if (*p == 'I' && ((*(p + 1) < 'A' || *(p + 1) > 'Z') && (*(p + 1) < 'a' || *(p + 1) > 'z') || *(p + 1) == ' '))
    {
      char str1[1000];
      for (int i = 0; ; i++)
      {
        str1[i] = *(p + 1 + i);
        if (*(p + 1 + i) == '\0')
          break;
      }
      for (int i = 0; ch[i] != '\0'; i++)
      {
        *(p + i) = ch[i];
      }
      for (int i = 0; ; i++)
      {
        *(p + 3 + i) = str1[i];
        if (str1[i] == '\0')
          break;
      }
    }
    if (*p == 'm' && *(p + 1) == 'e' && ((*(p + 2) < 'A' || *(p + 2) > 'Z') && (*(p + 2) < 'a' || *(p + 2) > 'z') && (*(p - 1) < 'A' || *(p - 1) > 'Z') && (*(p - 1) < 'a' || *(p - 1) > 'z') || (*(p + 2) == ' ' && *(p - 1) == ' ')))
    {
      char str2[1000];
      for (int i = 0; ; i++)
      {
        str2[i] = *(p + 2 + i);
        if (*(p + 1 + i) == '\0')
          break;
      }
      for (int i = 0; ch[i] != '\0'; i++)
      {
        *(p + i) = ch[i];
      }
      for (int i = 0; ; i++)
      {
        *(p + 3 + i) = str2[i];
        if (str2[i] == '\0')
          break;
      }
    }
    str[j++] = *p;
    p++;
  }
  str[j] = '\0';
}
int main()
{
  char chat[1000];
  char str[1000];
  getchar();
  while (1)
  {
    gets(chat);
    strcpy(str, chat);
    printf("%s\n", str);
    RemoveSpace(str);
    TurnFirstperson(str);
    TurnInterrogativewords(str);
    TurnSymbol(str);
    RemoveSpace(str);
    RemoveLetter(str);
    printf("AI: %s\n", str);
  }
  return 0;
}
相关文章
|
12天前
|
人工智能 Java 测试技术
低成本工程实践-AI帮我写代码做需求
本文主要讲述,以“无需训练模型”的方式实现:AI智能分析功能需求、写代码、review代码解决特定业务问题的实践过程
低成本工程实践-AI帮我写代码做需求
|
9天前
|
人工智能 机器人 Serverless
不用一行代码,如何10分钟快速打造AI助手?
推荐免费下载《10分钟打造专属AI助手》电子书,助力快速搭建AI客服系统。 本文介绍了如何在10分钟内构建能主动提问的智能导购系统,提升客户体验。通过阿里云平台,无需编码即可创建具备大模型能力的AI机器人,实现7x24小时商品推荐与客户服务。文中详细描述了从创建函数计算应用、访问示例网站到验证智能导购效果的全过程,并提供了关键代码示例。此外,还介绍了如何将智能导购集成到生产环境的方法,包括修改知识库和源码以适配具体产品。
129 13
|
10天前
|
人工智能 安全 开发者
由于安全风险,安全领导者考虑禁止用AI生成代码
由于安全风险,安全领导者考虑禁止用AI生成代码
|
9天前
|
安全 C语言
在C语言中,正确使用运算符能提升代码的可读性和效率
在C语言中,运算符的使用需要注意优先级、结合性、自增自减的形式、逻辑运算的短路特性、位运算的类型、条件运算的可读性、类型转换以及使用括号来明确运算顺序。掌握这些注意事项可以帮助编写出更安全和高效的代码。
21 4
|
10天前
|
数据采集 人工智能 安全
AI项目高昂成本与数据问题阻碍进展,2025年前30%的GenAI项目或将搁浅
AI项目高昂成本与数据问题阻碍进展,2025年前30%的GenAI项目或将搁浅
|
11天前
|
人工智能 IDE Java
MarsCode AI 一款免费的代码辅助工具,值得一试
MarsCode是由字节跳动旗下公司推出的AI编程工具,旨在提升编码效率和质量。它既是一个云端集成开发环境(IDE),也支持作为VS Code和JetBrains等IDE的智能扩展,提供代码补全、生成、优化等功能,并支持多种编程语言。通过AI助手,MarsCode帮助开发者减少重复劳动,提高代码质量和可维护性,同时支持跨平台使用,为开发者带来便捷高效的编程体验。
|
25天前
|
存储 人工智能 前端开发
AI 网关零代码解决 AI 幻觉问题
本文主要介绍了 AI Agent 的背景,概念,探讨了 AI Agent 网关插件的使用方法,效果以及实现原理。
|
21天前
|
人工智能
AI设计自己,代码造物主已来!UBC华人一作首提ADAS,数学能力暴涨25.9%
【9月更文挑战第15天】近年来,人工智能领域取得了显著进展,但智能体系统的设计仍需大量人力与专业知识。为解决这一问题,UBC研究人员提出了“自动智能体系统设计(ADAS)”新方法,通过基于代码的元智能体实现智能体系统的自动化设计与优化。实验结果表明,ADAS设计的智能体在多个领域中表现优异,尤其在阅读理解和数学任务上取得了显著提升。尽管如此,ADAS仍面临安全性、可扩展性和效率等挑战,需进一步研究解决。论文详情见链接:https://arxiv.org/pdf/2408.08435。
28 4
|
24天前
|
存储 人工智能 C语言
数据结构基础详解(C语言): 栈的括号匹配(实战)与栈的表达式求值&&特殊矩阵的压缩存储
本文首先介绍了栈的应用之一——括号匹配,利用栈的特性实现左右括号的匹配检测。接着详细描述了南京理工大学的一道编程题,要求判断输入字符串中的括号是否正确匹配,并给出了完整的代码示例。此外,还探讨了栈在表达式求值中的应用,包括中缀、后缀和前缀表达式的转换与计算方法。最后,文章介绍了矩阵的压缩存储技术,涵盖对称矩阵、三角矩阵及稀疏矩阵的不同压缩存储策略,提高存储效率。
|
26天前
|
存储 算法 C语言
C语言手撕实战代码_二叉排序树(二叉搜索树)_构建_删除_插入操作详解
这份二叉排序树习题集涵盖了二叉搜索树(BST)的基本操作,包括构建、查找、删除等核心功能。通过多个具体示例,如构建BST、查找节点所在层数、删除特定节点及查找小于某个关键字的所有节点等,帮助读者深入理解二叉排序树的工作原理与应用技巧。此外,还介绍了如何将一棵二叉树分解为两棵满足特定条件的BST,以及删除所有关键字小于指定值的节点等高级操作。每个题目均配有详细解释与代码实现,便于学习与实践。
下一篇
无影云桌面