程序设计课有一道题,写 reverseDigits 把数字倒过来,限制是「只能用 #include <iostream> / #include <iomanip> 这两个」。我亲眼看到有台生这么写:取余和整除拆出个十百千四位,再拼回去,「x=d1000+c100+b*10+a;」。我贴出来的是模拟片段,不是原文。
这个写法的问题是写死了四位,所以也无从判断位数。输入 12 的话,a 和 b 都是 0,拼回去是 2100,不是 21。
我当时的玩笑是干脆来 9999 个 if,从「if (number==9999) return 9999;」开始一行一行往下列,头文件一个不多。对面回了句:返回速度快。