这个目录把 OpenCamp 的两套 C 训练营题目合并成了一套连续编号的 40 题题库,作为 QEMU 训练营基础阶段的 C 语言练习。
- 基础阶段题库保留为
01-20 - 专业阶段题库顺延为
21-40 - 共
40道题,每题5分,满分200分 - 仓库已切换为
GitHub Actions自动评测,并支持把成绩回传到OpenCamp
上游题库来源:
- 基础阶段: c-training-basic
- 专业阶段: c-training-advanced
01_insert_sort- 插入排序02_merge_sort- 归并排序03_quick_sort- 快速排序04_linear_search- 线性查找05_binary_search- 折半查找06_stack_maze- 栈解决迷宫问题07_queue_maze- 队列实现广度搜索迷宫问题08_circular_queue- 环形队列实现约瑟夫环问题09_word_counter- 统计单词个数10_my_strcpy- 字符串拷贝11_command_interpreter- 命令解释器12_student_management- 学生信息管理13_universal_sorter- 通用排序接口14_calculator- 四则运算15_url_parser- URL 参数解析器16_mysed- 简单流处理器17_myfile- ELF 文件头查看18_mywc- 词频统计器19_mytrans- 查字典翻译20_mybash- 命令解释器项目
21_singly_linked_list_josephus- 单链表约瑟夫环22_doubly_circular_queue- 双向循环链表队列23_circular_linked_list_josephus- 环形链表约瑟夫环24_prev_binary_tree- 二叉树前序遍历25_counter_letter- 排序二叉树字母统计26_hash_counter- Hash 表词频统计27_asm_gcd- 内联汇编求最大公约数28_operator_overflow- 无符号运算溢出检测29_swap_endian- 字节序转换30_debug_print- 调试宏DEBUG_PRINT31_event_handler- 简单事件处理器32_container_of_macro-container_of宏实现33_garray_dynamic_array- 动态数组34_protocol_header_parser- 协议头解析器35_elf_info_parser- ELF 信息查看工具36_lru_cache- LRU 缓存淘汰算法37_bitmap_operations- 位图操作38_thread_safe_ring_buffer- 线程安全环形缓冲区39_strtok_r_thread_safe- 线程安全字符串分割器40_bloom_filter_bitmap- Bloom 过滤器
当你把代码推送到 main 分支时,GitHub Actions 会自动:
- 编译
c-checker - 执行
./c-checker check-all - 生成
test_results_summary.json - 生成 GitHub Job Summary 和测试产物
- 在配置好 OpenCamp secrets 后,把分数回传到 OpenCamp 榜单
当前 workflow 同时支持:
- 普通 GitHub 仓库直接
push main - GitHub Classroom 生成的学生仓库直接
push main pull_request场景下只做评测,不回传 OpenCamp
工作流文件在 .github/workflows/opencamp-autograding.yml。