只要不是一个一个去抄就还是会遇到问题,在去看就会更容易发现不会的地方。比如判断是否为回文数那里,我死板地照着前面做倒叙数的方法return那里也只会返回加起来的数,不会怎么判断(被传过来的n值已经改变了,根本不可能再进行与之有关的逻辑判断)。再去看了才想起来可以用复合函数。然后就是输出要求的“,”分隔输出的数值。但是请注意最后一个数值后面是没有逗号的(这也就意味着你不能简单的for下面printf("%d,"))。所以也要用“ 假的 ”知道。电脑在不停的穷举我们不可能让它让它知道最后一个数(无法标记得,找出来是计算机的工作,不会想要人工去找的,也找不到,应为不同范围的回文数个数情况还不一样)后面不用加逗号(如果回文数不是范围内的最后一个数,这才是更普遍化的更详细的要求),也不可能让它返回之前的步数——倒。那就反着来,先逗号再数值。这里你自然而然地就会知道要对逗号打印加以限制。所以要单独printf,只要第一个不打印就行,但计算机还是不知道第一个数是谁,上图用++s和s++都行(i++这些是同位素,帮我们标记),不过条件需要略微修改。
读代码实践结果
于 2023-12-05 09:28:18 首次发布