zoukankan      html  css  js  c++  java
  • 第二次作业

    Github上仓库链接:

    https://github.com/MeKChen2/object-oriented.git

    1.解题思路:

    看到题目时,首先想到的是需要得到A+B之和sum的位数,而且又必须在数中间插入逗号,那么就必须先把sum转换成字符串,由strlen函数得到字符串长度。
    定义一个字符串数组用来存放字符,题目要求从右往左每三位用一个逗号隔开,而这个字符串是从左往右,所以一开始想到将字符串倒置,但是在后面遇到困难。
    我想到新的方法,当从左往右数第n个数除以3的余数等于该字符串长度除以3的余数时,需要多输出一个逗号,不等时则只输出该字符。利用循环和条件语句就可以实现上述方法。

    2.编码过程中调试与上线测试(提交代码)后的bug发现与修改过程:

      问题①:最开始的输出语句为printf("%c,",&str[i]);和printf("%c",&str[i]);调试后发现输出的数字变成了大于号,小于号等符号。
      -修改:将输出语句改成putchar函数。
      -结果:问题得到解决。
      
      问题②:提交代码后发现编译错误,“error: 'itoa' was not declared in this scope”,在查询后得知itoa函数与ANSI标准是不兼容的。将整数转换为字符串而且与ANSI标准兼容的方法是使用sprintf()函数。
      -修改:将itoa函数改成sprintf函数。
      -结果:部分正确,测试点0不正确。
    
      问题③:经过代入多组数据发现,当输入负数,且位数正好为3的倍数时,负号后会插入一个逗号。
      -修改:在循环前添加一个条件语句,如果sum值为负,输出一个“-”,并将sum值变为正。
      -结果:答案完全正确。
    

    在PAT上的提交记录列表截图:

  • 相关阅读:
    thoughtworks家庭作业C++版本
    删除数组中等于某个key的所有元素
    一些必读的开源项目
    库函数strlen源码重现及注意问题
    判断相同树或者对称树
    约瑟夫环问题
    Loadrunner 脚本录制策略
    品味性能之道<十一>:JAVA中switch和if性能比较
    白盒静态自动化测试工具:FindBugs使用指南
    六个步骤把资料转换成知识
  • 原文地址:https://www.cnblogs.com/kurisu/p/5162516.html
Copyright © 2011-2022 走看看