总结:(具体思路来自米狗GO的博客)
题目分析:题目规定数值最长可以是9999个字节,而指数绝对值不超过9999。而题目还要求保留所有精度,因此必须用“字符串”来处理。
思路:
/*将字符串分解为几个部分:符号,整数,小数,指数符号,指数,分别存储
* if(符号’-‘) 输出 ‘-’ //输出符号
*
* if(指数是0) 直接输出整数 .小数
* else if(指数符号’+’)
* {
* ……..if(指数>小数长度)
*……………. 直接输出整数和小数
*……………. 结尾补上(指数-小数长度个‘0’)
*…….. else
*……………. if(整数不为0) 输出整数
*……………. else if(整数是0) 不输出整数
* ……………. 输出小数(在整数后的 第(指数)位 输出小数点)
* }
* else(指数符号‘-’)
* {
*…….. 输出‘0.’
*…….. 输出(指数-1)个0
*…….. 输出整数、小数字符串
* }
* */
小结&&赘述:
这一类“逻辑嵌套”的题目不算难,就是“费事儿”,需要很严谨,不然很容易某些地方犯错,然后因为是逻辑错误,所以还不那么好找,比较费事。但是我认为如果遵循以下的步骤,这一类题目会稍微“容易一些”。
1.不要忘记自己在干什么! 的确,这种题目有时候容易把自己绕晕,代码敲着敲着突然忘记了自己在干嘛。。。为了提示自己,我们需要(1)在开始敲代码前尽量详细地写下思路,不要怕花时间,这个帮助很大。 (2)多写注释,提醒自己做到哪里了
2. 先处理“特殊情况”。这样做,一方面不容易忽略特殊情况,另一方面,还能帮助接下来的代码少处理一些。
3. 先框架,后细节既然是“逻辑嵌套”,那应该遵循“由大到小,层层深入”的原则(这个貌似什么时候都是对的。。。)