PAT甲级1001 专给小白的讲解

PAT甲级 1001 A+B Format,小白视角看代码

写在正文前:最近决定佛系刷PAT题,因为个人进度比较慢,因此对每个题讲解只图一个字——懂!最好能让和我一样小白的人都读懂,佛系更文俗话说,欲速则不达!因此,对每个题,我都会查阅各个资料,彻底弄懂后,来更文,希望能帮助和我一样,在编程路上迷茫的人儿

贴图:
这里插入图片描述
全英文!没错,不要怀疑,这也是我第一眼看到PTA甲级题目惊讶程度,不要害怕,单词还挺简单看起来不难的!

说明题意:

实现a+b,将结果类似于手机计算器上的标准化输出——从最后三位开始,每三位用“,”进行分隔!重点这里a,b范围是-1000000~1000000
输入格式:a空格b
输出格式:结果(已经标准化后)

思路分析:

  • a,b输入,然后正常求和(so easy)
  • 关键对结果的转化,因为要加“,”,可以全部转化成字符串类型,向里加字节型“,”比较容易(the most difficult)
  • 逐位对字符串进行输出,考虑负数情况(a little difficult)

具体实现:

二话不说先上图,事后分析
在这里插入图片描述
啥?不懂?没关系,上图只是给大神看的,我们“肢解”一下下

细节讲解:

1.输入:此处省略两行code.I believe 你都懂!
2.整型转换字符串型:

  • 首先定义一个字符串类型变量s,
  • 调用函数itos(int to string)
  • itos这个函数:
  • 在这里插入图片描述
    介绍一下新接触的头文件:<sstream> 字符串流,这里用到最基础的功能,int转string类型,首先定义一个stringstream类型的变量s,将int型变量sum,输入流,输出转换后的字符串,返回到主函数。

3.输出结果,主要用for循环一位位输出:
在这里插入图片描述 第一行考虑了负数的输出符号,这部分参考了网上大神的输出,笔者在纸上验算了一下下,正确极了,感谢这位大神,确实很厉害!思路很好!

运行结果:

在这里插入图片描述
在这里插入图片描述
至此我的第一篇博客算是写完了,欢迎批评指教,各位大神不喜勿喷,毕竟大家都从零开始过!笔芯❤!

猜你喜欢

转载自blog.csdn.net/miao_599/article/details/83239746
今日推荐