PAT归纳总结——关于C++输入输出格式问题的一些总结

  自从使用了C++就不再想使用C语言来刷题了,C++便捷的输入输出方式,以及一些STL库函数的使用都要比使用C语言方便的多。但是使用的时候还有一些需要注意的地方,在这篇博客中写一下。(更好的教程可以参看柳神写的那个,我这个主要是写一下自己在算题的过程中一些经常使用,但是还经常容易忘记的进行一些总结)

  • Cout 格式化输出

  有时题目要求我们对输出的结果进行格式化

  如:保留小数点后两位

cout << setiosflags(ios::fixed) << setprecision(2) << 3.1415926 << endl;

    在数字的前面补‘0’

cout << setfill('0') << cout.width(5) << 12 << endl;
  • 从读取的数据中解析出所对应的数字

  有时题目给我们的是hh:mm:ss这种格式,我们需要在这种输入中提取出所对应的hh、mm、ss。虽然可以用C++里面的string来进行输入,然后再解析出所对应的字符串,最后再将字符串转化为相应的数字。但是,这样做未免有些麻烦,这个时候,我们可以使用C语言里的格式化输入来解决这个问题。

scanf("%d:%d:%d", &hh, &mm, &ss);

  这样就省去了各种繁琐的字符串操作了。(虽然C++在输入输出上有很多便捷的地方,但是,当我们解题的时候,还是应该具体问题具体分析,选择最快捷的方法,而不要刻意的就因为自己认为那种语言好,就不管三七二十一碰到什么问题都使用这种语言)

原文地址:https://www.cnblogs.com/h-hkai/p/13216211.html