快速读入(比scanf和getchar还快的读入方法)

 1 int read()//快速读入
 2 {
 3     int x=0,f=1;char ch=getchar();
 4     while(ch<‘0‘||ch>‘9‘)
 5     {
 6         if(ch==‘-‘)
 7             f=-1;
 8         ch=getchar();
 9     }
10     while(ch>=‘0‘&&ch<=‘9‘)
11     {
12         x=x*10+(ch-‘0‘);
13         ch=getchar();
14     }
15     return f*x;
16 }

原文地址:https://www.cnblogs.com/zhaohongjie/p/12601960.html

时间: 2024-10-11 15:51:31

快速读入(比scanf和getchar还快的读入方法)的相关文章

ACM比赛中如何加速c++的输入输出?如何使cin速度与scanf速度相当?什么是最快的输入输出方法?

在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式.相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据.还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急.难道C++真的低Pascal一等吗?答案是不言而喻的.一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中很不错,但具体如何从没试过,因此今天就索性把能想到的所有的读数据的方式都测试了一边,结果是惊人的. 竞赛中读

scanf() gets() getchar()

问题描述一:(分析scanf()和gets()读取字符)   | ---------------------------------------------------- scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的.但是有时候却就是因为使用这些函数出了问题,却找不出其中的原因.下面先看一个很简单的程序: 程序1: #include <stdio.h> int main() { char ch1, ch2; scanf("%c

C#做一个写txt文件流的测试,为什么配置低的机器写入的还快

测试机:笔记本i7 8G 固态硬盘 由于采取读码写入txt方式, 读码频率挺高,文件名为日期格式,当前采用每次读码打开文件写入的方式, 为什么没用sb,因为怕断电情况的数据丢失.所以采取每条存入的方式. 今天想对代码进行优化,采取文件流一直打开,不用每次打开关闭的情况,对效率进行测试. 1:新建项目 writetxt 2:添加时钟事件,定时写txt. 3:加两个写入方式 4:分别计时.查看效率. static object obj = new object(); public static vo

Trie实践:一种比哈希表还快的数据结构

本文分为5部分.我从思考的角度,由浅到深带你认识Trie数据结构. 1.桶状哈希表与直接定址表的概念. 2.为什么直接定址表会比桶状哈希表快 3.初识Trie数据结构 4.Trie为什么会比桶状哈希表快 5.实际做实验感受下Trie , std::map , std::unordered_map的差距 6.最后的补充 1.桶状哈希表与直接定址表的概念. 先考虑一下这个问题:如何统计5万个0-99范围的数字出现的次数? 可以用哈希表来进行统计.如下: [cpp] view plaincopypri

快速实现语音转文字,还自带翻译

我们无论是在工作中还是在生活中,都会通过文字来记录一些资料数据等,但是如果碰到语音文件的话,大部分人都会选择将录音文件转成可编辑的文本形式,但是我估计大部分人都是用键盘或者用笔一个字一个字记录下来的,其实很多人都知道有语音转文字这个功能,但是大部分人不知道怎么用,或者没有软件用不了.那么我就教一下大家如何快速识别语音文字,而且还可以翻译哦!第一步:首先呢,我们需要打开我们电脑中的OCR识别软件,打开后就是下图中的这个,有软件也可以打开跟我一起做,没有的呢,就先看,看完后可以自己去试试.第二步:我

【短道速滑一】OpenCV中cvResize函数使用双线性插值缩小图像到长宽大小一半时速度飞快(比最近邻还快)之异象解析和自我实现。

今天,一个朋友想使用我的SSE优化Demo里的双线性插值算法,他已经在项目里使用了OpenCV,因此,我就建议他直接使用OpenCV,朋友的程序非常注意效率和实时性(因为是处理视频),因此希望我能测试下我的速度和OpenCV相比到底那一个更有速度优势,恰好前一段时间也有朋友有这方面的需求,因此我就随意编写了一个测试程序,如下所示: IplImage *T = cvLoadImage("F:\\1.JPG"); IplImage *SrcImg = cvCreateImage(cvSiz

Mac技巧之让苹果电脑的 QuickLook(快速查看)可以直接选择和复制文字的方法

QuickLook(快速查看)是苹果电脑 Mac OS X 系统一项非常方便的功能:选中一个文件,只需按下空格键即可查看其内容,再按一下空格则退出 QuickLook,不必花时间启动/关闭任何软件.但 QuickLook 弹窗里的文字只能看不能点,想复制的话还得双击文件用软件打开.下面是让 QuickLook(快速查看)里可以直接选择和复制文字的方法,txt.PDF.Pages.doc 等等都适用. 打开终端(找不到的点击 Mac 屏幕右上角放大镜搜索 “终端”),粘入下面这行命令 defaul

浅析配置更快的Eclipse方法

很多人感觉自己的elipse启动比较慢,其实并不是因为装的插件太多或者是导入的项目有点大,而是因为参数的设置不合理导致的.可以在eclipse.ini里面添加-Xloggc:gc.log看看启动的日志.下面简单的说一下通过优化一下配置来节约eclipse的启动时间,文中的数据是我本机的环境,我本机内存为3.16G.第一次优化:把-Xms(初始化堆大小)-Xmx(JVM最大堆大小)设置为512m,避免频繁GC.如下所示:-Xms512m-Xmx512m-verbose:gc-XX:+PrintGC

Application.Exit()结束程序,但线程还在的解决方法。

Application.Exit()结束程序,但线程还在的解决方法. 出现此情况大多原因是使用了多线程编程,或者你所调用的dll使用了多线程.我们知道,一般情况下的线程执行完指定的任务之后是会关闭了的,但是如果对于一些循环类线程,或者忘记关掉的线程时,这个时候就需要我们手动将之强制关闭.用以下三个中的一个即可尝试强制关闭线程. 复制内容到剪贴板 代码: Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口.    复制内容到剪贴板 代码: Sy