
c++语言
文章平均质量分 79
麓山枫林晚
或许是不知梦的缘故,流离之人追逐幻影
展开
-
【C++】二叉树的遍历(前中后)- 迭代法
力扣题目:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/今天自己琢磨了很久如何不用递归将二叉树的遍历写出来,于是乎写出了如下代码。优点:前中后序均只需要改一行代码的顺序;树的结构不会被破坏。用栈显式的实现遍历,栈中元素为pair结构体,first是TreeNode*,second是int整形作为一个标记,0表示该树结点未被拓展(访问)过,1表示已经拓展过了。思路(这里针对中序遍历)是栈中存放元素,如果第一次访问某个结点,原创 2020-07-08 09:24:12 · 370 阅读 · 0 评论 -
【c++】容器的基本操作
操作\容器 vector list string set stack queue map 插入 push_bcak()、insert() push_back() 、push_front()、insert() append(string)、push_back(char)、insert(string) insert() push() push() insert(pair<int,int>(5,1) ) 删除原创 2020-07-07 10:51:20 · 326 阅读 · 0 评论 -
公共钥匙盒
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,...原创 2018-02-08 10:19:45 · 345 阅读 · 0 评论 -
评委打分
【问题描述】 校园卡拉OK比赛设置了7名评委,当一名选手K完歌之后,主持人报出歌手名字后,7位评委同时亮分,按照惯例,去掉一个最高分和一个最低分后,其余5位评委评分总和为该选手的最终得分。 一共有n组选手参加比赛,请你编写一个程序,当所有比赛结束后,列出所有选手的排名以及最终得分情况。 假定不会出现总分相同的情况(总分相同时,以出场顺序优先排名还是?原创 2017-12-27 15:16:38 · 2292 阅读 · 0 评论 -
圆桌killer
【问题描述】 圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第m(m【输入形式】 第一行一个整数表示测试数据的组数s,接下来的s行每行包含三个正整数,分别表示好人和坏人的人数n(【输出形式】 对于每一组数据,输出2n个大写字母,‘G’表示好人,‘B’表示坏人,50个字母为一行,不允许出现空白字符。【样例输入】2原创 2017-12-27 15:14:39 · 398 阅读 · 1 评论 -
挑棍子
Stan有n根不同长度的棍子。他随机地一次性将它们扔到地上,扔完后,Stan想找到那些顶层的棍子,也就是那些没有其他棍子压在上面的棍子。他注意到最后扔的棍子总是顶层的,而他想知道所有顶层的棍子。棍子非常非常薄,其厚度可以忽略。【输入形式】 输入由若干测试用例组成,每个用例以一个整数n(1【输出形式】 对于每个输入用例,按照样例格式列出顶层棍子。顶层原创 2017-12-06 23:51:14 · 615 阅读 · 0 评论 -
小数化分数
第一行是一个整数N,表示有多少组数据。 每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。【输出形式】 对每一个对应的小数化成最简分数后输出,占一行【样例输入】30.(4)0.50.32(692307)【样例输出】4/91/217/521 : #include2 : #include3原创 2017-12-06 23:50:19 · 379 阅读 · 0 评论 -
电梯
我们城里最高的建筑物只有一个电梯。请求列表是由n个正数组成的。数字表示电梯在哪个楼层按指定的顺序停车。电梯上一层要6秒,下一层楼要4秒。电梯每站停留5秒。 对于给定的请求列表,需要计算用于满足列表中请求的总时间。电梯一开始就在零层,当满足要求时不必返回地面。【输入形式】 每个输入包含一个测试用例。每个案例输入一个正整数n,然后是n个正数。输入的所有数字都原创 2017-12-14 17:17:53 · 910 阅读 · 0 评论 -
逆序数
在一个序列中,例如{ 2, 4, 3, 1 } ,逆序依次为 (2,1), (4,3), (4,1), (3,1),因此该序列的逆序数为 4。【输入形式】 输入包括两行,第1行n表示序列元素的个数,第2行n个正整数,表示求逆序数的序列。【输出形式】 输出逆序数。【样例输入】42 4 3 1【样例输出】41原创 2017-12-14 17:16:09 · 307 阅读 · 0 评论 -
走格子
【问题描述】 有编号1~n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去。机器人有一个初始能量,每个格子对应一个整数A[i],表示这个格子的能量值。如果A[i] > 0,机器人走到这个格子能够获取A[i]个能量,如果A[i] 例如:n = 5。{1,-2,-1,3,4} 最少需要2个初始能量,才能从1号走到5号格子。途中的能量原创 2017-12-14 17:11:32 · 462 阅读 · 0 评论 -
Pascal的旅行
【问题描述】 一块的nxn游戏板上填充着整数,每个方格上为一个非负整数。目标是沿着从左上角到右下角的任何合法路径行进,方格中的整数决定离开该位置的距离有多大,所有步骤必须向右或向下。请注意,0是一个死胡同。 图1所示的4 x 4板,其中实心圆标识起始位置,虚线圆标识目标,图2显示了从开始到目标的三个路径。原创 2017-12-14 17:10:06 · 544 阅读 · 0 评论 -
爬虫
【问题描述】 一条虫子在n英寸深的井底,每次一分钟爬行u英寸,但是它在再次爬行前必须先休息1分钟, 在休息过程中它将滑落d英寸,在反复向上爬行和休息后,多长时间虫子能爬出这口井?在此过程中,分钟的小数部分向上取整,如果攀爬结束时虫子正好到达井的顶部,则视为虫子已经爬出。假定d【输入形式】 输入包括多个测试用例。每行包含3个正整数n、u、d,为上面所提到的原创 2017-12-14 17:02:32 · 1278 阅读 · 3 评论 -
考研路茫茫——早起看书
【问题描述】 考研并不是说说就可以了,要付诸于行动。 对于Lele来说,最痛苦的事莫过于早起看书了,不过为了考研,也就豁出去了。由于早起看书会对看书效率产生影响,所以对于要什么时候起床看书,还是有必要考虑的。 经过周密的调查,Lele发现早起的时间会对上午和下午的看书效率都产生影响,具体如下: 他把早起的程度标记为一个非负有理原创 2017-12-14 16:59:52 · 314 阅读 · 0 评论 -
回文数
【问题描述】 当一个数从前往后写与从后往前写时相等,则该数被称为回文数,所有的个位数都是回文数。 所有非回文数通过一系列的操作都可以匹配一个回文数。首先,将该数写反以后与原数相加,判断结果是否为回文数,如果不是,重复上述过程,直到和为回文数为止。例如:对于数67,两步以后可以将其转换为回文数,67+76=143, 143+341=484。 給出原创 2017-12-14 16:58:28 · 729 阅读 · 0 评论 -
输入流简单汇总和用例结束的解决方式
各种输入流简单汇总:1、cin //会过滤掉不可见字符(如 空格 回车,Tab 等)2、cin.get(字符变量名)或 cin.get(字符数组名,接收字符数目) 用来接收字符 可以接收空格并输出// char ch;// ch=cin.get(); 或cin.get(ch);// cout// 输入:jljkljk原创 2017-12-19 13:17:41 · 398 阅读 · 0 评论 -
窗口
问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽原创 2018-02-08 10:17:52 · 272 阅读 · 0 评论 -
QT 如何让release生成的EXE可在他人电脑上运行(尝试了全网的方法后,这应该能帮你解决)
这两天,迅速上手了QT并用其基于C++编写了一个含UI的小程序跳过中间的开发阶段当我兴致满满的要将程序打包时,却是费尽周折,搜尽全网的关于QT的打包教程,最后都不顶用。后面自己和队友的共同发现,尝试之后找到了问题的突破点。如果你也已经几乎搜尽全网而束手无策的话,往下看吧相信都知道了qt库自动适配的工具windeployqt 可以帮助你把exe程序所需要的dll链接库和一...原创 2019-09-28 00:59:46 · 3098 阅读 · 9 评论 -
拼写检查-c++
【问题描述】 作为一个新的拼写检查程序开发团队的成员,您将编写一个模块,用已知的所有形式正确的词典来检查给定单词的正确性。 如果字典中没有这个词,那么可以用下列操作中的一个来替换正确的单词(从字典中): 1. 从单词中删除一个字母; 2. 用一个任意字母替换单词中的一个字母; 3. 在单词中插入一个任意字母。 你...原创 2019-04-24 23:15:36 · 2505 阅读 · 1 评论 -
缺席考试的是谁
【问题描述】程序设计考试结束了,传来个不好的消息:有一个学生没参加考试!需要尽快知道缺席考试的人是谁,以便尽快做出处理。糟糕的是,尽管有签到表,但由于人数较多,签到情况比较混乱:有的签到表签在一张白纸上,有的虽然签在名册上,但并不是签在自己姓名旁,更有学生签到了别的签到表上……现在只能根据这2n-1个姓名(名册上有n个学生姓名,签到有n-1个姓名,签到姓名和名册姓名可能混在一起了),来...原创 2019-04-24 23:13:50 · 1498 阅读 · 0 评论 -
棋盘
【问题描述】 棋盘是指一个行和列编号从1~N的NxN的二进制矩阵,当行号和列号之和为偶数时该矩阵对应位置为黑色的(1),否则为白色的(0)。以下图示为N=1、2、3时的棋盘。 給出一个NxN的二进制矩阵,请找出位于该矩阵内的最大尺寸的完整棋盘,以及最大尺寸棋盘的数量(棋盘可以交叠)。【输入形式】 每个测试用例的第一行是一个正整数N(1&l...原创 2019-04-24 23:11:44 · 1037 阅读 · 0 评论 -
小希的数表
【问题描述】Gardon 昨天给小希布置了一道作业,即根据一张由不超过 5000 的 N(3<=N<=100)个正整数组成的数表两两相加得到 N*(N-1)/2 个和,然后再将它们排序。例如,如果数表里含有四个数 1,3,4,9,那么正确答案是 4,5,7,10,12,13。小希做完作业以后出去玩了一阵,可是下午回家时发现原来的那张数表不见了,好在她做出的答案还在,你能帮助她根据她...原创 2019-04-24 23:10:34 · 465 阅读 · 2 评论 -
导弹防御
【问题描述】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。【输入形式】每组输入有两行,...原创 2019-04-24 23:09:17 · 137 阅读 · 0 评论 -
打牌
【问题描述】牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。规则:出牌牌型有5种[1]一张 如4 则5…9可压过[2]两张 如44 则55,66,77,…,99可压过[3]三张 如444 规则如[2][4]四张 如4444 规则如[2][5]五张 牌型只有12345 23456 34567 45678 56789五个,后面的...原创 2019-04-24 23:07:54 · 236 阅读 · 0 评论 -
魔咒词典
【问题描述】哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功能;当哈利需要某个功能但不知道该用什么魔咒时,你的程序要替他找到相应的魔咒。如果他要的魔咒不在词典中,就输出“what?”...原创 2019-04-24 23:07:13 · 290 阅读 · 0 评论 -
最少钱币数
【问题描述】这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了 6 种钱币面值为 2、5、10、20、50、100,用来凑 15 元,可以用 5 个 2 元、1个 5 元,或者 3 个 5 元,或者 1 个 5 元、1个 10 元,等等。显然,最少需要 2 个钱币才能凑成 15 元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少...原创 2019-04-24 23:05:49 · 347 阅读 · 0 评论 -
数塔
给定一个数塔,如下图所示。在此数塔中,从顶部出发,在每一节点可以选择走左下或右下,一直走到底层。请找出一条路径,使路径上的数值和最大。 9 12 15 10...原创 2019-04-24 23:04:31 · 285 阅读 · 0 评论 -
打表法
#include<iostream>#include<stdio.h>#include<math.h>using namespace std;bool zi(int a) { int n=sqrt(a); for(int i=2; i<=n; i++) { if(a%i==0) return false; ...原创 2019-03-26 21:53:13 · 402 阅读 · 0 评论 -
买菜
问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个相邻的...原创 2018-12-08 09:01:51 · 232 阅读 · 0 评论 -
月历
【问题描述】 输入年份和月份, 输出该月的月历。【输入形式】 输入包含两个整数Y(Y>0)和M(1【输出形式】 阵列式月历【样例输入】 2016 11【样例输出】 #include#includeusing namespace std;int main(){int Y,原创 2017-12-14 16:56:47 · 647 阅读 · 0 评论 -
挑棍子
【问题描述】 Stan有n根不同长度的棍子。他随机地一次性将它们扔到地上,扔完后,Stan想找到那些顶层的棍子,也就是那些没有其他棍子压在上面的棍子。他注意到最后扔的棍子总是顶层的,而他想知道所有顶层的棍子。棍子非常非常薄,其厚度可以忽略。【输入形式】 输入由若干测试用例组成,每个用例以一个整数n(1【输出形式】 对于每个输入用例,原创 2017-12-14 16:54:15 · 392 阅读 · 0 评论 -
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(一万以内)
#includeusing namespace std;int main(){for(int i=1;ifor(int j=1;jif((i+100)==j*j){for(int k=1;kif(i+168==k*k) cout}}}}}原创 2017-11-04 18:10:37 · 793 阅读 · 0 评论 -
输出一个爱心
#include#include#includeusing namespace std;int main(){for(float y=1.2;y>=-1;y-=0.065){for(float x=-1.2;xif(pow((x*x+y*y-1),3)-x*x*y*y*yelse cout}coutSleep(100);} }原创 2017-11-11 00:13:11 · 2017 阅读 · 4 评论 -
输入n,然后输入n个数,使它升序输出
#includeusing namespace std;int main(){int n,i,j,m,k;cin>>n;int a[n]; for(i=0;icin>>a[i];}for(i=0;ik=i;for(j=i+1;jif(a[k]>a[j]){m=a[i],a[i]=a[j],a[j]=m;}}}for(i=0;i原创 2017-10-24 23:00:47 · 4001 阅读 · 0 评论 -
验证哥德巴赫猜想
编写程序验证哥德巴赫猜想: 一个不小于6的偶数可以表示为两个素数之和,如6=3+3, 8=3+5, 10=3+7,…要求:(1)子函数prime函数,prime函数的作用是判别一个数是否为素数,返回一个整数(0表示非素数,1表示素数)(2)子函数gotbaha函数,调用prime函数,输出该数的所有素数和等于该数。(3)在主函数中输入一个不小于6的偶数n,然后调用函数gotbaha原创 2017-10-30 16:13:17 · 818 阅读 · 0 评论 -
递归函数求n!
#includeusing namespace std;int main(){int n;cin>>n;int jieceng(int);cout } int jieceng(int n){long z;if(n==1||n==0) z=1;else z=n*jieceng(n-1);return z;}原创 2017-11-07 22:36:25 · 361 阅读 · 0 评论 -
找出三个数中的最大值
#include using namespace std;int main(){ int max(int x,int y);int a=0,b=0,c=0,d=0,m=0;cin>>a>>b>>c>>d; m=max(a,b); m=max(m,c); m=max(m,d); cout return 0;}int max原创 2017-10-20 09:30:02 · 2208 阅读 · 0 评论 -
天数判断
输入年月,求该月份的天数。#include using namespace std;int main(){int a,b;cin>>a>>b;if((a%4==0&&a%100!=0)||(a%400==0)) if(b==2) cout else if((b7&&b%2==0)) cout else c原创 2017-10-19 08:06:43 · 370 阅读 · 0 评论 -
税费计算
征税的办法如下:收入在800元以下(含800元)的不征税;收入在800元以上,1200元(含1200元)以下者,超过800元的部分按5%的税率收税;收入在1200元以上,2000元(含2000元)以下者,超出1200元部分按8%的税率收税;收入在2000元以上者,2000元以上部分按20%的税率收税,试编写按收入计算税费的程序。#include #include u原创 2017-10-19 08:05:29 · 1197 阅读 · 0 评论 -
计算奖金
企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成,从键盘输入当原创 2017-10-19 08:04:07 · 591 阅读 · 0 评论 -
将两个数以十六进制,十进制,八进制输出
#include using namespace std;int main(){int a,b,setw(); cin>>a>>b;coutcoutreturn 0;}原创 2017-10-19 08:01:32 · 330 阅读 · 0 评论