0、前言

以前刷力扣的时候用过atoi函数,但是好像这道题没必要吧……

今天刷洛谷的时候,看见一道数字统计,这么简单的题目还没做!天理难容啊,打开,我相信五分钟就敲完了,我打算改进代码,下面是几种方法,越来越好!

文章目录

  • 0、前言
  • 1、stringstream
  • 2、部分改进to_string()
  • 直接判断不就行了:scream:

1、stringstream

以前的代码可以这么写,但是时间会慢一点,stringstream是简单,但是很耗时

#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;
string int2str(int aNum)
{stringstream res;res << aNum;string ans;res >> ans;return ans;
}
int char2int(char ch)
{stringstream res;res << ch;int aNum;res >> aNum;return aNum;
}
int main()
{int start, end;int count = 0;cin >> start >> end;for (int i = start; i <= end; i++){string stmp = int2str(i);for (int idx = 0; idx < stmp.size(); idx++){if (char2int(stmp[idx]) == 2)count++;}}cout << count << endl;return 0;
}

这样可以通过

非常棒!

2、部分改进to_string()

好,那么既然string库有to_string函数,那么为什么不用呢?

#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;
int char2int(char ch)
{stringstream res;res << ch;int aNum;res >> aNum;return aNum;
}
int main()
{int start, end;int count = 0;cin >> start >> end;for (int i = start; i <= end; i++){string stmp = to_string(i);for (int idx = 0; idx < stmp.size(); idx++){if (char2int(stmp[idx]) == 2)count++;}}cout << count << endl;return 0;
}


看图就知道,速度又快了一点!

洛谷:P1179 数字统计 C++三种写法总结相关推荐

  1. 刷题-洛谷-P1179 数字统计

    P1179 数字统计-C语言 1.题目 2.解题过程 结果: 代码: //洛谷 P1179 数字统计 #include <stdio.h> //#define MIN 1 //#defin ...

  2. 题解洛谷1179数字统计 记录问题

    文章目录 数字统计 一.思路1 二.思路二 优化 1.想法 2.代码 二.继续优化 不用类型转换 总结 数字统计 题目描述 请统计某个给定范围[L, R][L,R]的所有整数中,数字 22 出现的次数 ...

  3. 洛谷P1553 数字反转(升级版)

    洛谷P1553 数字反转(升级版) 题目描述 输入格式 输出格式 输入输出样例 说明/提示 个人理解 整数 百分数 分数 小数 AC代码 写在最后 题目描述 给定一个数,请将该数各个位上数字反转得到一 ...

  4. CSS伪类的三种写法

    今天逛蓝色时,无意发现了有人讨论伪类的正确写法,让我对伪类的认识也更清晰了,转贴于此,以备日后查询(原贴当时没记下地址,已经记不得了) Code <style> a.tb{text-dec ...

  5. Promise的链式调用三种写法,Promise.all与式调用

    Promise的链式调用三种写法: // 1,Promise原始链式调用 new Promise((resolve, reject) => {setTimeout(() => {conso ...

  6. android 闪屏页处理_Android应用闪屏页延迟跳转的三种写法

    闪屏页也称之为欢迎页.在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面.闪屏页除了使用户体验更好外,还能给app留出初始化数据 ...

  7. vue2.0模板的三种写法

    vue2.0中的模板有三种写法,根据不同的需求运用不同的方法来实现 1. <!DOCTYPE html> <html lang="en"> <head ...

  8. JavaScript的三种写法

    1.2-JavaScript的三种写法 1-复习CSS代码的三种写法 1.外联样式:写在css文件中,使用link导入 <link rel="stylesheet" href ...

  9. SpringMVC框架|Handler处理器的三种写法

    文章目录 一.SpringMVC中的处理器 1.SpringMVC开发方式 2.Servlet原生开发方式 3.开发中常用的方式 一.SpringMVC中的处理器 配置完SpringMVC的处理器映射 ...

最新文章

  1. Docker 学习6 Docker存储卷
  2. Ubuntu使用——23(dock的美化)
  3. 图像的灰度级数越多越好_数字图像处理:Reducing Gray Levels, Zooming and Shrinking
  4. oracle计算1到一百偶数的和,Perl 打印在1..100内所有偶数和奇数
  5. 断开式 DataGridView控件 winform
  6. 初学者python笔记(面向对象编程、类与对象)
  7. Java String.indexOf() 函数用法小结
  8. nprogress页面加载进度条
  9. android 开发中判断网络是否连接的代码
  10. 竞价推广经验分享 账户的搭建方法
  11. asp.net后台正则表达式验证手机号码邮箱
  12. Get value from agent failed: cannot connect to [[192.168.186.130]:10050]: [113]No route to host
  13. 罗翔老师转谈记录,不同认知出发//心之所向,素履以往,生如逆旅,一苇以航。
  14. seo是做什么-程绩
  15. 如何在网页中嵌入播放器
  16. Fater-Rcnn原理详解
  17. PS用橡皮檫檫除图形与背景颜色一样的方法
  18. 批量复制到花瓣网上图片素材的原图
  19. MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)
  20. kotlin一点摸索

热门文章

  1. Undefined index: validate(thinkphp)
  2. 中移动TD智能机或将厚积薄发
  3. Mac鼠标左右键轻松互换
  4. 剑与远征周年庆活动随笔
  5. html中如何让方框有倾斜度,如何在CSS中创建带有边框的倾斜标签?
  6. scGPT:单细胞的末日与开端
  7. MATLAB—二维函数可视化
  8. 论文笔记(三):深度学习在水文水资源中的应用综述
  9. PBI数据分析实战:场地类数据分析
  10. 一文读懂HTML微数据