分享好友 最新动态首页 最新动态分类 切换频道
C语言实战项目(AI代码)
2024-12-26 21:33

是的,你没有听错,用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 ", str);
        RemoveSpace(str);
        TurnFirstperson(str);
        TurnInterrogativewords(str);
        TurnSymbol(str);
        RemoveSpace(str);
        RemoveLetter(str);
        printf("AI: %s ", str);
    }
    return 0;
}

 

最新文章
网站开发的奥秘,从构思到上线,介绍网站开发的五大关键步骤
随着互联网技术的飞速发展,已经成为企业展示形象、拓展业务的重要平台。如何开发一个功能完善、用户体验良好的网站呢?本文将为您揭秘的五大关键步骤,助您打造一个成功网站。一、需求分析网站开发的第一步是进行需求分析。这一阶段需要明
如何最大化你的谷歌广告ROI:为你的Google Ads找到合适的关键词
SEO优化是任何数字营销活动的组成部分。为 Google Ads(正式名称为 Google Adwords)选择正确的关键字是你在营销中可以做出的最重要的决定之一,以建立可靠的搜索广告系列。 关键字不仅会决定广告组可以带来多少流量,还会决定你在用户的 G
厦门引入人工智能,教育改革迈入智能化新时代
在教育模式不断革新的今天,厦门市在人工智能领域的探索引领了教育高质量发展。极具前瞻性地,厦门市教育局于近日召开的新闻发布会上宣布,人工智能正在担当中考英语口语及体育考试的考官这一重要角色。早在2021年,厦门便荣膺全国人工智能
创维ai电视如何关闭? , 怎么把创维电视语音唤醒关闭?
1. 关闭自动更新:在电视设置中找到更新选项,关闭自动更新功能,这样就不会再提示更新。2.重启电视:有时电视只是出现了临时的故障,可以尝试重启电视,看看是否能够消除提示。3.升级到新版本:如果实在无法消除提示,可以尝试升级到新版
淘宝为什么光有访客没人下单?淘宝访客量低的原因是啥?
要查看淘宝店铺的关键词,可以按照以下步骤进行:1. 登录淘宝卖家后台,进入左侧菜单-流量中心-搜索词-关键词分析页面。2. 在关键词分析页面上方,选择要查看的时间范围和商品范围。3. 然后可以选择关键词类型进行筛选,如全匹配、含品牌、
【W2013(电信3G)360手机助手下载】三星W2013 电信3G360手机助手10.8.3免费下载
360手机助手是android智能手机的资源获取平台。提供海量的游戏、软件、音乐、小说、视频、图片,通过它轻松下载、安装、管理手机资源。360手机助手所有提供信息资源,全部经过360安全检测中心的审核认证,绿色无毒,安全无忧。360手机助手
谷歌 Chrome 浏览器新增 AI 助手,助力开发者高效调试网页代码
近期,谷歌在其 Chrome 浏览器的开发者工具中推出了一项革命性的更新——AI 助手功能,这一创新之举旨在极大提升网页代码调试的效率与便捷性。该 AI 助手能够深入解读网页源代码,并在开发者遇到问题时,提供即时且针对性的分析与解答。这
谷歌推广和SEO运营:网站运营与谷歌SEO优化的关联
如果说谷歌推广是一艘驶向成功的船,那么SEO运营就是引导船只前行的罗盘。而在这场航程中,外贸网站的运营与谷歌SEO优化则扮演着至关重要的角色。在本文中,我们将深入讨论这两者之间的联系,以帮助你更好地理解它们如何共同作用,推动你的
深度剖析|卫生间防水施工细节,这样装绝对不怕水!
装修卫生间,最重要的莫过于防水,今天小编就带来了卫生间防水宝典,让你家卫生间“万无一湿”。首先在讲卫生间具体施工之前,我们先了解卫生间是什么原因导致渗水,小匠总结以下几点:1、橡胶混泥土产生裂缝。2、做好防水层后,后道工序破
相关文章
推荐文章
发表评论
0评