Skip to content

Repository files navigation

C 语言学习与算法笔记

C 语言基础语法、算法与 OJ 练习题的代码仓库。全部代码按知识点分类存放在 C/ 下,共 17 个分类目录、180+ 个程序,可直接浏览或按目录检索。

代码使用 .c 文件编写,建议使用支持中文文件名的 IDE(如 CLion、VS Code)打开。

📂 目录结构

C/
├── 输入输出/      printf / scanf、格式控制、字符输入
├── 基础语法/      运算符、条件分支、循环、类型与常量、图形输出
├── 函数/          自定义函数、库函数(math.h)使用
├── 数组/          一维数组、二维数组(矩阵)操作
├── 指针/          指针基础与传参
├── 字符串/        字符串与字符处理(回文、统计、删除、大小写等)
├── 结构体/        结构体定义、输入输出与使用
├── 动态内存/      malloc / free 动态分配
├── 递归/          递归思想(阶乘、汉诺塔、GCD)
├── 文件/          文件读写
├── 链表/          链表的建立、插入、删除
├── 查找/          顺序查找、二分查找
├── 排序/          冒泡、奇偶、插入/选择等排序算法
├── 进制转换/      十进制转八进制、十六进制加法
├── 数列求和/      级数、递推与幂和
├── 数学/
│   ├── 数论/      素数、GCD/LCM、整除、数根、大数
│   ├── 数字处理/  数位提取、数字高位输出
│   └── 公式计算/  几何、物理、时间、利率等公式计算
└── 竞赛/          牛客等 OJ 练习题(模拟、构造、数论)

📝 各目录内容

输入输出(7)

  • hello world.c · printf修饰符.c · 3in1_gets.c · 原样输出字符串.c · 大数输入.c · 打印飞机.c · 画个八.c

基础语法(17)

  • 运算与表达式:两数相加.c · 带符号的a+b问题.c · 浮点数除法.c · 求两个整数相除的商和余数.c · 计算表达式的值.c · 正数的和.c · 自加的验证.c · 逻辑运算符的短路.c
  • 条件分支:条件语句.c · 三数比大小.c · 季节判断.c · 数字学英语.c · 能否整除3.c · 能否整除5或3.c
  • 类型与常量:明示常量.c
  • 循环图形输出:刘尚贤:半高画菱形.c · 刘尚贤:画n阶正方体.c

函数(7)

  • a+b函数.c · power函数实现 (for迭代).c · power函数实现 (while迭代).c · pow运用.c · math.c · 阶乘 (迭代).c · 重复打印字符函数.c

数组(23)

  • 一维数组:元素n后移.c · 元素交换.c · 数组对应元素的乘积.c · 数组数据逆序存放(多组数据).c · 数组部分逆序.c · 最大值和最小值的交换.c · 最大数与最小数(整体变量).c · 最小元素的下标.c · 最小数的下标.c · 最小交换次数.c · 最少的修改次数.c · 有序数组的合并(单组数据).c · 心之所在.c
  • 数组统计:统计不及格人数.c · 课程平均分.c · 平均成绩于人数计算.c · 计算平均成绩.c
  • 矩阵(二维数组):对称的二维数组(单组数据).c · 矩阵四周元素的和.c · 矩阵对称判断.c · 矩阵最小值.c · 矩阵转置.c · 矩阵转置函数.c

指针(7)

  • 指针.c · swap函数实现.c · 动静指针.c · 指针求最大数.c · 交换两个数(指针函数).c · 找出最大数及其下标(指针).c · 平均分和低于人数(指针+函数).c

字符串(30)

  • 回文:回文串判断.c · 回文串判断1.c · 回文串判断2.c
  • 增删改:字符串反转.c · 字符串排序.c · 字符串移动.c · 字符串连接 (下标函数).c · 字符串连接(指针函数).c · strcat函数实现.c · 删除k后m个字符.c · 删除指定字符(单组数据).c · 删除重复字符(哈希表).c
  • 字符处理:字符变大写.c · 字符变空格.c · 字符类型判断.c · 小写字母替换.c · 首字母大写.c · 凯撒密码.c · 只读取数字.c · 数字字符映射.c · 数字字符相加.c
  • 统计:统计字符.c · 统计字符个数.c · 统计字符个数(指针+字符串).c · 统计特定字符.c · 统计指定整数的个数.c · 统计元音.c
  • 综合:字符串中的数字.c · 最短的字符串.c · 最短的字符串 (2).c

结构体(5)

  • 结构体.c · 结构体输入输出.c · 结构体问题.c · 查找图书.c · 复数的加减运算.c

动态内存(4)

  • 动态内存分配求整型数组元素之和.c · 计算不及格 ( 动态内存分配).c · 计算平均分(指针+动态内存).c · 统计不及格(指针+动态内存).c

递归(4)

  • 阶乘 (递归).c · 阶乘(累加递归).c · 汉诺塔.c · 最大公约数和最小公倍数(递归).c

文件(4)

  • 文件写入.c · 文本文件写入.c · 统计文件文本.c · 计算文件中的字符个数.c

链表(3)

  • 链表建立.c · 链表插入.c · 链表删除.c

查找(5)

  • 查找数字.c · 查找数据.c · 查找数组最大数字及其下标.c · 查找最大值(0退出).c · 二分查找.c

排序(4)

  • 冒泡排序函数.c · 奇偶排序.c · 数据排序.c · 排序与查找.c(选择/插入/冒泡/希尔/快排/堆排/归并 + 顺序/二分查找综合)

进制转换(2)

  • 10进制转8.c · 16进制加法.c

数列求和(11)

  • 数列求和.c · 数列求和1.c · 数列求和2.c · 数列求和3.c · 等差数列求和.c · 高斯数列.c · aera & cir.c · fib(迭代).c · power之和.c · 累加求和.c · 级数求和.c

数学(39)

数论(15)

  • 素数.c · 素数函数.c · 素数判断.c · 素数判断(函数).c · 最大公约数和最小公倍数(迭代).c · 最大公约数的三种进制输出.c · 最小公倍数.c · 完数函数.c · 水仙花数.c · 3n+1问题.c · 数根.c · 大数阶乘.c · 容器取水.c · 最右边的数字.c · 刘尚贤:猜测年龄.c

数字处理(10)

  • 个位数之和.c · 各位数之和 (迭代).c · 各位数之和 (递归).c · 数字高位输出1.c · 数字高位输出2.c · 求最高位数字 (字符串指针).c · 求最高位数字 (指针函数).c · 求最高位数字 (数字计算).c · 双精度整数和小数部分.c · 实型数据的分解.c

公式计算(14)

  • 三角形面积.c · 计算三角形面积.c · 圆和球的面积体积.c · 球的表面积和体积.c · 并联电阻.c · 银行利率.c · 秒的转换.c · 时间规划.c · 开学星期几.c · 立方体棱长.c · 计算高度.c · 曼哈顿距离.c · 自由落体.c · 1044自由落体.c

竞赛(8)

  • Cantor 表.c · aabb.c · easy task.c · 仙人掌.c · 三角.c · 纸牌.c · 白兔.c · 献给已逝公主的七重奏.c

About

C语言&算法学习笔记仓库。

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages