基础

C语言字符串接收函数gets的用法

本节来讲解关于gets函数的用法,在C语言中,除了用scanf,以%s接收字符串之外,还可以使用gets函数更方便的接收字符串。其函数原型如下:char*gets(char*str);在包含include<stdio.h>头文件的情况下,可以用gets直接往字符数组里接收字符串,

为什么gets函数不能用了?

在提交问题时,不少接收字符串的时候可以用gets函数(以前确实可以),但由于get函数不提供给出足够长的输入字符串时,避免目标数组缓冲区溢出的手段。std::gets于C++11被弃用,并于C++14移除。可使用std::fgets替代。也就是说现在只要用C++11及以后版本的标准,

竞赛学习路线推荐(算法数据结构)

阅读这一节之前,请确认你熟悉的语言,无论C、C++、java都已经很熟练运用,不存在语法问题了,否则参考本节的学习路线会让你变得着急和打退堂鼓对于已经掌握一种语言可以参赛之后,算法和数据结构的学习,笔者认为大体分三个步骤:那些顺带的、不用专门学的常规算法和数据结构;这些如递归算法、遍历枚举、模拟、素数

Java输入输出语句

1.输入语句在Java中,输入需要依赖Scanner类,Scanner是JDK1.5新增的一个类,可以使用该类创建一个对象:Scannerreader=newScanner(System.in);reader对象调用下列方法,读取用户在命令行输入的各种基本类型数据:nextBoolean():输入布尔

为什么提交会运行错误(RE)?

如题,本地测试明明没问题,为什么提交会运行错误呢?通常来说,运行错误是由于运行过程中出现了,如数组越界、野指针、除0等问题。因此本地测试没问题,仅仅是常规数据可以,但提交后,OJ后台的数据测试过程中出现了如上所述的问题。比如,某字符串相关的问题,

为什么提交会时间超限(TLE)?

明明答案都一样,样例也没问题,为什么提交确是时间超限呢??这里给大家举一个例子,如果是一个N以内素数的问题,大家可能会使用常见的算法如:#include<stdio.h>intmain(){inti,j;intN,a;scanf("%d",&N);for(i=2;i<=N;i++)//因为1不是素数,

本机电脑测试没有问题为什么提交答案错误(WA)?

初入竞赛的不少同学面临这样的问题,就是明明自己的输出与题目的样例输入没有区别,也确实仔细检查过了,但提交还是答案错误,或者只得了几十分,这是为什么呢?前面介绍OJ的文章中提到过,题目给出的样例数据仅仅是方便用户验证题意的,后台真正测试的数据并非如此,

C语言输入输出效率优化

scanf和printf作为C语言的标准输入输出函数,为了提高效率,也是有优化的空间的注意,本页面中介绍的读入和输出优化均针对整型数据,若要支持其他类型的数据(如浮点数),可自行按照本页面介绍的优化原理来编写代码。输入优化:我们都知道,getchar是用来读入一个字符的数据并将其转换为char类型的函

C++输入输出的效率优化

看到不少初学编程的同学是学的C++,或者学了C再学C++之后,会习惯性的用C风格的C++代码编写程序,因此习惯了cout、cin输入输出,但在默认情况下,同样输入输出语句,C语言的scanf和printf,比C++的std::cin和std::cout要快的多。

基本输入输出格式八

最后一个例题,和之前也看起来差不多,还是多个数字求和,不同的是在输出格式要求多一个空行,如输入:3412345123453123输出:10156因此本题几乎在1089题上多输出一个换行即可(如果不修改直接提交,则会提示格式错误),参考C语言代码:#include<stdio.h>intmain(){i