随笔分类 - C语言每日一题
摘要:第十四天 这一次小明想要尝试一下语言分析……当然是最简单的文本匹配。 首先“玩家”会输入长度为10的一串文字,内容全部由大小写字母、数字、空格组成,小明计划用程序匹配出文字中的小写字母abcd,并按照出现顺序将其保存在数组中,再顺序、逆序打印。 输入 程序通过scanf("%[^\n]", char
阅读全文
摘要:第十三天 小明看了看嵌入式相关代码,发现了他的一个盲点……他需要学会“拆分”和“组装”一个“大空间”变量。 程序定义了两个函数,一个用于将32位无符号整数“拆分”为三个无符号8位整数,一个用于将三个无符号8位整数“组装”回32位无符号整数。在主函数内,使用者将输入一个32位无符号整数,程序将这个数转
阅读全文
摘要:第十二天 小明今天要挑战一下算法!他的算法第一课是:二分查找。 小明随意设置了一个函数:。他将使用二分法,找出给出的数字所在区间,精度为。 输入 程序运行时通过scanf获取一个整型,作为给定数。 输出 打印给定数所在函数区间,
阅读全文
摘要:第十一天 还记得在第三天写的斐波那契数列程序吗?小明最初想用这个函数作为随机数生成器的。今天,小明决定重新拾起这个函数,用于生成随机数…… 输入 程序在运行时通过getchar获取输入,当使用者输入非空白字符时,退出程序。 输出 有a b c d e五个字符,每当输入一个空白字符后,根据下一个斐波那
阅读全文
摘要:第十天 随着对指针了解的深入,小明决定进一步尝试指针的使用。 他写出一个程序,用于判断给定数组内最长连续字母串的长度。 运行: main.exe a b c d e f e a 输出: 6 解释:a b c d e f为最长连续字母串,长度为6。 运行: main.exe e d c b a b c
阅读全文
摘要:第九天 在一开始的学习中,小明就头疼于计算机浮点数运算的误差。他决定看看浮点数的二进制是什么样的——尽管这么做对解决误差问题毫无帮助。 输入 程序执行时,通过scanf输入一个小数。 输出 打印这个小数对应的float变量的二进制。 示例 1 Input a float:0.123 0.123000
阅读全文
摘要:第八天 小明学习到了数组,同时,在最近的开发中,他发现很多递归运算存在重复计算相同数值的问题。他决定利用数组缓存运算的结果。 有一个数组,已知,且有, 。请编写带有缓存的函数,通过递推式计算$
阅读全文
摘要:第七天 小明在最近的学习中了解到了函数。他决定利用函数递归的特性实现不定长文本的输出。 程序具有交互式设计。首先通过命令行参数获取最大输入次数;程序运行时,打印与已获取输入的次数相同的空格,之后打印冒号,并获取输入字符。若达到“最大输入次数”或输入字符为q,终止输入;否则重复打印并继续获取输入。结束
阅读全文
摘要:第六天 小明想了想,发现他已经写过数个用于计算日期的程序了。今天他决定更进一步,要实现一个可以计算两个日期实际相差天数的代码。另外,为了方便,不考虑闰年情况。 运行:main.exe B B A A 输出: 1-1 to 2-2 : 1?32 解释:前两个参数B B 表示目标日期为 2 月 2 日,
阅读全文
摘要:第五天 今天小明觉得自己又可以了!于是他决定继续实现游戏开发,这次从玩家行为控制入手。 在长度无限、宽度为9的地图场景中,我们可以控制角色向左右移动,移动后会留下轨迹,该轨迹保留两回合。此外,角色初始位置为第5格,输入q可以退出游戏。 输入 每回合获取输入,l代表向左移动,r代表向右移动,q表示退出
阅读全文
摘要:第四天 小明这两天写代码有些累。。他差点忘记了9月30日的下一天是十月一日……于是决定写一个程序告诉他每个月有多少天。 执行:main.exe A 输出: 31 输入 程序通过命令行参数输入获取参数,参数仅有一个,代表月份。你无需理会错误输入。 为了方便输入,将数字统一移动64个,即 ASSCII
阅读全文
摘要:第三天 完成了给朋友的礼物和自己的小想法,小明觉得这两天的学习非常成功!他决定去开发一个小游戏。 在一阵开发之后……他遇到了难题——如何为生成“随机数”?尽管操作系统提供了random函数,但小明并不想使用除了标准输入输出外的任何依赖操作系统的功能。 稍加思索,小明决定使用斐波那契数列生成伪随机数。
阅读全文
摘要:第二天 题目 小明在完成给朋友统计生日的代码之后,想起来他好像看到过有一个数学公式是用于计算某年某月某日是星期几。当然了,他不会无聊到用这个程序计算超过700年前的星期。 执行:$ main.exe U V I ] 输出: 2022-9-29: 4 输入 程序通过命令行参数输入获取参数,参数格式为世
阅读全文
摘要:第一天 题目 小明想要给他的朋友写一个生日祝福程序,在运行时,会根据输入的日期输出不同的结果。 若在平时运行程序(例如9月28日): 执行: main.exe L M 输出: 12-13
阅读全文