数一数有几行
行数 = 换行符的个数;如果内容非空且最后一个字符不是换行,再加 1。补全后输出 行数/总字节数。 (本题用 gcc -std=c11 -O0 编译。)
数文件行数的小工具
场景:团队想要一个比 wc -l 更「讲道理」的行数统计:最后一行没有换行也要算,打不开的文件要说清楚但别影响其他文件。 任务:新建 ~/work/wc/wcnt.c 并编译成 ~/work/wc/wcnt:./wcnt 文件… 逐个输出「
读成绩表写出报告文件
场景:老师每次考完都要手工汇总成绩。你来写个工具:读一份 CSV,写出按总分排好序的报告文件。 任务:补全 ~/work/rep/report.c 并编译成 ~/work/rep/report:./report 成绩.csv 报告.txt,
make clean 该做什么
交付一个 C 命令行工具时,make clean 应该【0】。
整数除以零
在 C 语言里,整数除以 0 会【0】。
先比分数再比名字
补全 qsort 的比较函数:分数从高到低,同分按姓名(strcmp)从小到大。输出排序后的姓名,用逗号连接。 (本题用 gcc -std=c11 -O0 编译。)
多文件 C 命令行工具
场景:记账的同事想要一个按类别汇总金额的命令行工具。这次没有任何现成代码:目录结构、构建方式、错误处理都由你决定。 任务:在 ~/work/tally/ 从零交付 tally:至少两个 .c、一个 .h 和 Makefile;./tally
修好成绩程序的两个 bug
场景:接手一个四文件的成绩程序:它时不时直接崩溃,崩溃修好后,报出来的最高分又偶尔不对。原作者已经联系不上了。 任务:修好 ~/work/big 里的两个问题,按各函数上方注释里的规则让输出正确,用 make 编译出 ~/work/big/
那个标准选项
用 g++ -std=c++17 -o app app.cpp 编译时,-std=c++17 的作用是【0】。
看不懂的符号名
nm 显示出 _Z5scalei 这样的名字,它叫【0】,用 nm -C 可以还原成人能读的样子。