• 第二次作业 编程题 PAT 1001A+B Format


    > Github的object-oriented仓库:[1001.A+BFormat(20)](https://github.com/Olivia1011/object-oriented/tree/master/1001.A+BFormat(20))

    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上的提交记录列表截图

  • 相关阅读:
    微信接龙转Excel
    Nginx日志拆分(linux环境下)
    Nginx 安全设置(禁止Iframe跨域访问、隐藏server、限制ip访问)
    Nginx开机启动(Linux环境下)
    Navicat Premium 16激活教程(NavicatCracker)
    Tomcat日志拆分(linux)
    mysql 事务
    mysql 5.7数据类型支持json格式
    mysql 用户 权限管理
    mysql 读写锁(表锁myisam行锁innodb)
  • 原文地址:https://www.cnblogs.com/Olivia1011/p/5173672.html
Copyright © 2020-2023  润新知