首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏SDLC技术探究

    python实现的AI版飞花

    一 前言 “春城无处不飞花”,在遥远的古代,古人就开始有饮酒作乐的智慧,伴随着“飞花”的诞生,文学创作者饮酒作乐必须要飞花助兴了。 bot: 好的,我们可以玩飞花游戏。 you: 这是飞花游戏 bot: 对不起,我误解了你的意思。让我们继续玩飞花游戏吧!请说出下一个含有“月”字的词语或诗句: 回答:“但愿人长久”。 接下去的飞花令你来定吧。 you: 说一个 以鸟为关键词的飞花游戏 bot: 好的,让我们来一场以鸟为关键词的飞花游戏。 接下去的飞花令你来定吧。 you: exit 我们可能需要进一步训练这个工具才能让他成为一个飞花高手。

    1K21编辑于 2023-12-21
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言指针

    我们知道计算机CPU(中心处理器)在处理数据,需要的数据是在内存中读取的,处理后的数据也会放回内存中 我们把内存划分为一个个内存单元,每个内存单元存储一个字节 每个内存单元一个字节空间里面能放8个比特位 1Byte = 8bit 1KB = 1024Byte 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB 1PB = 1024TB 地址的基本概念 我们观察下面这一组代码 指针:(四)指针大小 指针的大小取决于系统架构: 32位系统:指针占 4字节 64位系统:指针占 8字节 printf("指针的大小:%zu字节\n", sizeof(int*)); 指针:(五)指针变量 在32位平台下,指针变量大小是4个字节 在64位平台下,指针变量大小是8个字节 #include <stdio.h> int main() { printf("%zd\n", sizeof(char #include <stdio.h> int main() { int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; int* p = &arr[0]; int sz

    25810编辑于 2025-11-18
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言内存函数

    “山在雾中若隐若现,水在光里缓缓流淌。 我撑一叶小舟,不问归期, 只想听这天地的一声叹息。”

    17510编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言数组

    比如:我们现在想存储某个班级的20⼈的数学成绩,那我们就可以创建⼀个数组,如下: int math[20]; 当然我们也可以根据需要创建其他类型和大小的数组: char ch[8]; double score #include <stdio.h> int main() { int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int i = 0; for(i = 0; i < 10; i %d ", arr[i]); } return 0; } 数组元素的输入 #include <stdio.h> 1 int main() { int arr[10] = {1,2,3,4,5,6,7,8,9,10 ⼆维数组的创建 type arr_name[常量值1][常量值2]; 例如: int arr[3][5]; double data[2][8]; 解释:上述代码中出现的信息 • 3表⽰数组有3行 代码展示 #include <stdio.h> int main() { int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int left =

    21710编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——【C语言】文件操作

    本章讨论的是数据⽂件 在以前各章所处理数据的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到显示器上。 其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上文件

    18510编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言常见概念

    人与人交流的是自然语言,如:汉语、英语、日语 那人与计算机交流就得用计算机语言 C语言就是众多编程语言中的一种,是一种底层语言

    19710编辑于 2025-11-18
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言转义字符

    \code\test\n,我们就必须用到转义字符 转义字符总结表 转义字符 含义 ASCII 码(十进制) 备注 \a 响铃(警报) 7 终端可能会发出“滴”声 \b 退格(Backspace) 8 打印机换页,终端可能清屏 \n 换行(New Line) 10 光标移动到下一行行首 \r 回车(Carriage Return) 13 光标回到行首 \t 水平制表(Tab) 9 通常相当于 4 或 8

    29810编辑于 2025-11-12
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言(数组+函数)

    ` 调用: int result = add(3, 5); // 调用 add(),传入 3 和 5 printf("3 + 5 = %d\n", result); // 输出: 3 + 5 = 8 void printSize(int arr[]) { printf("%zu\n", sizeof(arr)); // 输出指针大小(如8字节),不是数组大小 } int main() { [10]; printf("%zu\n", sizeof(a)); // 输出40(假设int为4字节) printSize(a); // 输出8( 结果是1或2(指针大小/元素大小) } 问题分析 当数组作为参数传递时,它会退化为指针 sizeof(arr)返回的是指针大小(8字节),而不是数组大小 这种计算方式在函数内部完全不可靠 修正方法 必须显式传递数组大小作为额外参数 , 5); // data数组被清空 return 0; } 代码练习 #include <stdio.h> int main() { int arr[] = {1,2,3,4,5,6,7,8,9,10

    27710编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言变量和常量

    字符型,通常1字节 short s; // 短整型,通常2字节 int i; // 整型,通常4字节 long l; // 长整型,通常4或8字节 float f; // 单精度浮点,通常4字节 double d; // 双精度浮点,通常8字节 2) 带符号修饰符 signed int si; // 有符号整型

    19010编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言分支与循环语句(下)

    前言 上一篇文章收集飞花碎片——C语言分支与循环结构(上)已经跟大家全面讲解了分支与循环的基础知识,这一张会通过几个程序设计项目来锻炼逻辑思维能力,难度从难到易,大家可以根据自己的需求去练习 练习一 return 0; } 注意 这道题的第二个for循环i~10-i(结合乘法表理解) 下面给出九九乘法表最难也是最美观的一种 (5)金字塔格式 难点 计算需要前面需要打印多少个空格 第1行:9-1=8组空格

    25810编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言分支与循环语句(上)

    #mermaid-svg-Yy7US978e1SNa71U {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Yy7US978e1SNa71U .error-icon{fill:#552222;}#mermaid-svg-Yy7US978e1SNa71U .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Yy7US978e1SNa71U .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-Yy7US978e1SNa71U .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Yy7US978e1SNa71U .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Yy7US978e1SNa71U .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Yy7US978e1SNa71U .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Yy7US978e1SNa71U .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Yy7US978e1SNa71U .marker.cross{stroke:#333333;}#mermaid-svg-Yy7US978e1SNa71U svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Yy7US978e1SNa71U .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Yy7US978e1SNa71U .cluster-label text{fill:#333;}#mermaid-svg-Yy7US978e1SNa71U .cluster-label span{color:#333;}#mermaid-svg-Yy7US978e1SNa71U .label text,#mermaid-svg-Yy7US978e1SNa71U span{fill:#333;color:#333;}#mermaid-svg-Yy7US978e1SNa71U .node rect,#mermaid-svg-Yy7US978e1SNa71U .node circle,#mermaid-svg-Yy7US978e1SNa71U .node ellipse,#mermaid-svg-Yy7US978e1SNa71U .node polygon,#mermaid-svg-Yy7US978e1SNa71U .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Yy7US978e1SNa71U .node .label{text-align:center;}#mermaid-svg-Yy7US978e1SNa71U .node.clickable{cursor:pointer;}#mermaid-svg-Yy7US978e1SNa71U .arrowheadPath{fill:#333333;}#mermaid-svg-Yy7US978e1SNa71U .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Yy7US978e1SNa71U .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Yy7US978e1SNa71U .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-Yy7US978e1SNa71U .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-Yy7US978e1SNa71U .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Yy7US978e1SNa71U .clust

    17510编辑于 2025-11-18
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言关键字typedef

    比如我们有数组指针类型 int(*)[5] ,需要重命名为 parr_t,那可以这样写:

    20510编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片———C语言输入函数(应声虫)

    scanf 是C语言标准库中的一个输入函数,用于从标准输入(通常是键盘)读取格式化数据。

    40210编辑于 2025-11-12
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言字符串(纯干货)

    这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。 注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。

    26710编辑于 2025-11-13
  • 来自专栏Crossin的编程教室

    用Python+小程序实现诗词大会的飞花

    写在前面 在2018年下半年的某一天,偶然观看了《中国诗词大会》节目的飞花环节。 实现语音版飞花仅作为兴趣爱好,之前本来是用 Django 完成的,在朋友的安利之下改用 Sanic 重写。 飞花 整体架构如图所示 ? 架构如上图所示,接下来分享部分技术细节。 最后 以上是关于飞花应用的总结,总的来说还是挺满意这次实践。 有希望继续改进的同学可以在 github 上 fork 飞花代码库进行二次开发。

    3.2K40发布于 2019-07-08
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言操作符与进制转换

    1.进制转换 在计算机编程的学习中,其实我们经常能听到2进制、8进制、10进制、16进制 这样的讲法,那是什么意思呢? 其实2进制、8进制、10进制、16进制是数值的不同表示形式而已。 比如:数值15的各种进制的表示方式 15的2进制:1111 15的8进制:17 15的10进制:15 15的16进制:F //16进制的数值之前写:0x //8进制的数值之前写:0 (1)二进制 我们先重点讲解一下二进制 十进制图表 二进制图表 (2)八进制 八进制的每一位数字都是由0~7组成,正所谓满8进1 八进制位数与权重表 位数 权重(8的幂) 示例值 计算方式 第1位 8^0 = 1 1 1 * 8 ^0 第2位 8^1 = 8 2 2 * 8^1 第3位 8^2 = 64 3 3 * 8^2 第4位 8^3 = 512 4 4 * 8^3 第5位 8^4 = 4096 5 5 * 8^4 第6位 8^5 = 32768 6 6 * 8^5 第7位 8^6 = 262144 7 7 * 8^6 第88^7 = 2097152 0 0 * 8^7 (3)16进制 十六进制(Hexadecimal

    24510编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——C语言字符函数与字符串函数

    int result = strncmp(str1, str2, 5); printf("前5字符比较: %d\n", result); // 0(相同) // 比较前8个字符 result = strncmp(str1, str2, 8); printf("前8字符比较: %d\n", result); // 1(不同) return 0; : Interrupted function call 5: Input/output error 6: No such device or address 7: Arg list too long 8: char line[100]; if (fgets(line, sizeof(line), file)) { printf("Line: %s", line); } 8. fputs() 向文件写入一个字符串

    17010编辑于 2025-11-12
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——【C语言】动态内存管理&&数据存储的内存结构

    这些变量在程序一开始运行时就被分配了,直到程序结束才释放。它们“长命百岁”,但不够灵活。

    19410编辑于 2025-11-12
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——【C语言】自定义类型(结构体、联合体、枚举)

    struct S1)); 观察它的内存格式 成员 类型 大小(字节) 偏移地址 占用内存区间 填充(字节) c1 char 1 0 [0] 3 i int 4 4 [4, 7] 0 c2 char 1 8 [8] 3 尾部填充 - - - - 3 偏移计算: c1 从 0 开始,占 1 字节。 c2 从 8 开始,占 1 字节。 从第2个成员变量开始,都要对齐到某个对齐数的整数倍的地址处 对齐数 = 编译器默认的一个对齐数与该成员变量大小的较小值 VS 中默认的值为 8 Linux中 gcc 没有默认对⻬数,对⻬数就是成员 → 最终结果:sizeof(struct A) = 8 7.3)位段的特点 (二)联合体 联合体的所有成员共享同一内存,联合体的大小等于其最大成员大小(通常再加上对齐填充) #include

    18410编辑于 2025-11-13
  • 来自专栏C语言与数据结构算法

    收集飞花碎片——【C语言基本数据类型&&数据在内存中的存储】

    字节 (通常) -2,147,483,648 到 2,147,483,647 - %d unsigned int 4 字节 (通常) - 0 到 4,294,967,295 %u long 4 或 8 2,147,483,648 到 2,147,483,647 (32 位)或更大 (64 位) 0 到 4,294,967,295 (32 位)或更大 (64 位) %ld unsigned long 4 或 8 - %lld unsigned long long 8 字节 - 0 到 18,446,744,073,709,551,615 %llu 浮点类型 类型 存储大小 (通常) 有效数字位数 取值范围 (近似) 格式化说明符 float 4字节 (32位) 6-7位 ±1.18×10⁻³⁸ 到 ±3.4×10³⁸ %f, %e, %g double 8字节 (64位) 15-16位 ±2.23×10⁻ / 输出:4(在32/64位系统中通常为4字节) 常见类型的大小(可能因系统/编译器而异): char:1 字节 int:通常 4 字节 float:通常 4 字节 double:通常 8

    30310编辑于 2025-11-12
领券