(PAT乙级)1024 科学计数法(C语言实现)

总结:(具体思路来自米狗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. 先框架,后细节既然是“逻辑嵌套”,那应该遵循“由大到小,层层深入”的原则(这个貌似什么时候都是对的。。。)  

 

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值