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

  • 相关阅读:
    0114 Handler(一)
    0110Activity布局初步2+0111布局初步3
    0108 Activity的生命周期(二)+显示文本的几种方法+调用发送短信(Intent)
    消除超级连接虚线
    ASP.NET数据绑定(转载)
    ASP.NET实现数字签名(转载)
    datatable插入数据库(转载)
    JavaScript(转载)
    Jquery插件按开发学习笔记(一)
    js判断浏览器\屏幕分辨率(转载)
  • 原文地址:https://www.cnblogs.com/kurisu/p/5162516.html
Copyright © 2011-2022 走看看