青少年编程知识记录 codecoming

C++中的max和min函数(最大值,最小值)

1.头文件      最大值最小值函数所在头文件是#include<algorithm>2.用法#include<iostream> #include<algorithm> using namespace std; int main(){ int  a=3,b=5,c=4; int x=min(a,b); int y=max(b,c); c
作者:亿万年的星光 分类:C++知识 浏览:

信息学奥赛中文件流的写法

头文件#include<cstdio>也可以用万能头格式如下:int main(){ freopen("xxxx.in","r",stdin); freopen("xxxx.out","w",stdout); /*代码*/ fclose(stdin); fclose(stdout); retrun 0;  }其中, r是read的缩写,w是w

标签: 文件流

作者:亿万年的星光 分类:C++知识 浏览:

C++ 如何隐藏光标

在C++控制台做小游戏的时候,光标一直在闪,影响体验效果,我们可以通过下面的函数隐藏光标位置。void HideCursor(){ CONSOLE_CURSOR_INFO cursor_info={1,0}; //第二个值表示隐藏光标  SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info); }直接在主函数中调用即可。

标签: C++小游戏

作者:亿万年的星光 分类:C++知识 浏览:

如何判断回文数/回文串

所谓回文,就是从左往右读和从右往左读都是一样的,这样的数字或者字符称为回文数/回文字符。做题的时候经常能看到判断回文操作。判断回文的一般有两种,一种是数字类型,一种是字符类型。两种分别介绍一下。一、回文数字参考方法1:经过分离重组后的数字和原数字相等。int huiwen(int num) { int s=0; int num2=num; while(num){ s=s*10+num%10; num=num/10; }&nbs
作者:亿万年的星光 分类:C++知识 浏览:

分离整数的各个位

        平常做题的时候有很多时候会遇到分离整数的各个位的操作,比如求回文数,数字反转等题目。今天简单总结一下分离整数的一些做法。一、数字的分离(倒序)        一般题目中,涉及数字的分离操作,比如将一个数字单独拆开,分别展示其每一位上的数字,我们一般可以像下面这样操作。#include<iostream> us
作者:亿万年的星光 分类:C++知识 浏览:

【题解】士兵训练

【题目描述】某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。 【输入描述】本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。 【输出描述】共有N行,分别对应输入的新兵人数,每行输
作者:亿万年的星光 分类:C++知识 浏览:

【题解】围圈报数(约瑟夫问题)

【题目描述】

有n个人依次围成一圈,从第1个人开始报数,数到第m个人出列,然后从出列的下一个人开始报数,数到第m个热呢又出列,... ,如此反复到所有的人全部出列为止。设n个人的编号分别为1,2

,... , n,打印出列的顺序。

【输入描述】

一行,n和m。

【输出描述】

输出列的顺序

【样例输入】

4 17

【样例输出】

1 3 4 2
作者:亿万年的星光 分类:C++知识 浏览:

【数据结构】队列—基本操作

一、C++实例分析

       C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。

       那么我们如何判断队列是空队列还是已满呢?

      a、栈空: 队首标志=队尾标志时,表示栈空。

      b、栈满 : 队尾+1 = 队首时,表示栈满。

       使用标准库的队列时, 应包含相关头文件,在栈中应包含头文件: #include< queue> 。定义:queue< int > q;

q.empty()               如果队列为空返回true,否则返回false  q.size()                返回队列中元素的个数  q.pop()                 删除队列首元素但不返回其值  q.front()               返回队首元素的值,但不删除该元素  q.push()                在队尾压入新元素  q.back()                返回队列尾元素的值,但不删除该元素
作者:亿万年的星光 分类:C++知识 浏览:

【数据结构】队列—基本概念

一、基本定义队列是一种先进先出的线性结构,简称FIFO结构。特点就是“先进先出”二、队列的相关概念队头与队尾:允许元素插入的一端称为队尾,允许元素删除的一端称为队头入队:队列的插入操作出队:队列的删除操作例如我们有一个存储型元素的队列,我们依次入队:{1,2,3}添加元素时,元素只能从队尾一端进入队列,也即是2只能跟在1后面,3只能跟在2后面。如果在队列中的元素要出队:元素只能从队首出队列,出队列的顺序为1,2,3,与入队列时的顺序一致,这就是所谓的“先进先出”。三、队列的分类基于数组的循环队列
作者:亿万年的星光 分类:C++知识 浏览:

【数据结构】栈—括号匹配检验

【题目描述】

假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())或[  (  [  ] [  ] ) ] 等为正确的匹配,[  (  ]  )或 ([ ] ( )

或 (  ( ) ) )均为错误的匹配。

现在的问题是,要求检验一个给定的表示式中的括号是否正确匹配?

输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出“OK”,不匹配就 输出“wrong”。输入一个字符串:

[  ( [ ] [  ] ) ], 输出OK。

【输入描述】

输入仅一行字符(字符个数小于255)

【输出描述】

匹配就输出“OK”,不匹配就输出“wrong”

【样例输入】

[ ( ] )

【样例输出】

wrong

作者:亿万年的星光 分类:C++知识 浏览: