zoukankan      html  css  js  c++  java
  • 编程题1001.A+B Format (20)

    GitHub/object-oriented

    【解题思路】

    本题的解题要点在于输出格式。由于输出要求每三位数字一逗号,且最多存在两个逗号,所以可将逗号分隔的三个部分取为三组数d、e、f,分别输出,中间用逗号隔开。其中存在三种输出情况,需注意每个区间数的位数规定。

    【编码过程】

    共提交6次,其中3次是提交着玩的(请忽视)。

    • 第一次提交结果部分正确,重新理清思路,发现问题在于我忽视了负数情形,将判断条件d>0e>0改为了d!=0e!=0,此处还考虑到一旦输入数字为负,则d、e、f全为负数,最后的输出结果就会含有多个负号,于是又引入<cmath>函数库,在输出部分规定正负。
    • 第二次提交结果编译错误,猜测问题在于头文件,尝试着将<cmath>改为<math.h>并将编译器改为C提交。
    • 第三次提交结果答案正确。
    • 尽管最终答案正确,但仍存在一些疑惑,<cmath>是标准的C++库函数,为什么代码在C++编译器条件下提交会显示编译错误?我在这个网站发现了和我类似的问题及其解答:
      alt text
      alt text
      结合上图与PAT的错误分析之后发现:类似于pow()的,abs()<camth>中也没有定义,要在C++中使用绝对值函数用法应该是std::abs()或者#include<cmath>using namespace std;int main(){abs();return 0;}(该知识点似乎与命名空间相关,感觉自己的解答还不够正确,可能需要C++后面学到命名空间了才能理解)
      alt text

    【代码变更历史】

    • alt text
    • alt text
    • alt text

    alt text

  • 相关阅读:
    JavaScript Array 对象方法
    前后台如何转码
    nrm 的使用说明
    sass的学习笔记
    前端书籍概述;
    程序员必读书籍及导读指南
    HTML5之FileReader的使用
    jQery的方法
    jQuery的使用说明
    div,contenteditable编辑器之ctrl+enter换行,enter发送
  • 原文地址:https://www.cnblogs.com/wyq0808/p/5167847.html
Copyright © 2011-2022 走看看