第二次作业 编程题 PAT 1001A+B Format
2016-01-31 18:08
190 查看
1、解题的思路过程
在之前学习C语言时曾经碰到过类似的将数字转换成字符输出的情况,这道题目要求输出的数字每三个间增加一个逗号,我就想到将每一位上的数字都转换成字符,并在每输出三个字符后输出一个逗号。计算了一下最大是7位数加上两个逗号是九位,于是我开了s[10]。一开始我写了一个判断,将和为负数的都转换成正数并用了变量k做了记录方便为s[10]赋值和之后的输出。
用一个循环语句给数组s[10]赋值,因为平时练习不够,对代码编写也不够熟练,这段循环语句经过不断的调试并配合上网查找资料才编写完成。
在编写输出程序时,考虑到第一个逗号也会输出,于是用
s[i-1]==','这个语句解决了问题。
又考虑到a b之和为0的情况,于是我又加上了一个判断语句。(这里发现我的思维严密性实在不够,在平时敲代码中也经常漏考虑情况)以上就是我编写这道题的完整思路。
2、编码过程中调试与上线测试(提交代码)后的bug发现与修改过程
在调试过程中我发现在某些情况中数的最前面会多输出一个逗号,这个bug我将for循环语句修改为for(i-=1+(s[i-1]==',');i>=0;i--)来解决。
在线上提交过程中结果还是显示有一个点错误,看我的代码可是一直没有发现bug在哪。问了同学,才知道是我在考虑a b之和时没有考虑为0的情况,在a b和为0时是没有输出的。然后我在添加了0的情况再提交终于显示了答案正确,就因为这个bug我前后花费了两个小时的时间,真的觉得自己太粗心了。
3、PAT上的提交记录列表截图
相关文章推荐
- java生成的公钥与私钥key转成openssl的rsa算法中的公钥与私钥key
- C和指针第二章编程练习
- C语言学习笔记 指针概述
- java 中排列组合
- LeetCode Algorithms #169 <Majority Element>
- SpringMVC中使用Interceptor拦截器
- PyQt5 笔记(01):嵌套布局
- axis2生成webservice客户端代码及使用方法
- python面向对象编程基础
- C++基本概念——const与基本类型和类、const与指针、const与引用
- Head Frist Python 读书笔记 第4章 “腌制”数据
- ECTOUCH系统默认模板是有显示销量的,但是销量一直为0,第二种方法OK
- JavaEE中的Cookie的基本使用方法
- 深入理解Java内存模型(三)——顺序一致性
- Spring概念学习--面向切面AOP
- java中的wait(),notify(),notifyAll(),synchronized方法
- 《重构 改善即有代码的设计》笔记
- 结合Visual C#开发环境讲解C#中事件的订阅和取消订阅
- 使用eclipse的Hibernate插件创建session完成对数据库的记录追加
- java代码死锁导致事务无法提交