C++
SKY技术修炼指南
欢迎我的关注公众号:SKY技术修炼指南
展开
-
字符串替换
请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。输入样例"A%sC%sE",7,['B',...原创 2019-03-01 13:41:13 · 194 阅读 · 0 评论 -
围圈报数
题目描述N 个人围成一圈顺序编号,从1 号开始按1、2、3 顺序报数,报3 者退出圈外,其余的人再从1、2、3 开始报数,报3 的人再退出圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。输入描述输入第一行为整数m表示有m组测试数据,接下来m行每行一个整数N,N不超过50。输出描述输出m行,每行表示题目所求,用空格隔开。输入1...原创 2019-03-08 21:11:55 · 851 阅读 · 0 评论 -
后序遍历
题目描述已知某二叉树的先序序列和中序序列,编程计算并输出该二叉树的后序序列。输入描述有多组数据,每组分为两行输入,第一行表示指定二叉树的先序序列,第二行表示该二叉树的中序序列,序列元素均为大写英文字符,表示二叉树的结点。输出描述对于每组数组,在一行上输出该二叉树的后序序列。输入ABDGCEFHDGBAECHF输出GDBEHFCA...原创 2019-03-08 22:51:46 · 255 阅读 · 0 评论 -
质因数的个数
题目描述求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。输入描述可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。输出描述对于每组数据,输出N的质因数的个数。示例1输入120输出5#include <iostream>...原创 2019-03-03 21:26:30 · 209 阅读 · 0 评论 -
日期累加
题目描述设计一个程序能计算一个日期加上若干天后是什么日期。输入描述输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。输出描述输出m行,每行按yyyy-mm-dd的个数输出。输入12008 2 3 100输出2008-05-13#include <iostream>using namespa...原创 2019-03-06 17:45:30 · 152 阅读 · 0 评论 -
百鸡问题
题目描述 用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。输入描述测试数据有多组,输入n。输出描述对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。输入40输出x=0,y=0,z=100x=0,y=1,z=99...原创 2019-03-06 19:30:31 · 386 阅读 · 0 评论 -
最大公约数
题目描述输入两个正整数,求其最大公约数。输入描述测试数据有多组,每组输入两个正整数。输出描述对于每组输入,请输出其最大公约数。输入49 14输出7#include <iostream>#include <vector>using namespace std;int GCD(int a, int b...原创 2019-03-06 21:34:21 · 90 阅读 · 0 评论 -
翻转子串
题目描述假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例"Hello world","wo...原创 2019-03-09 23:20:27 · 123 阅读 · 0 评论 -
C++中string转double和int
以下是string转double的方法#include <iostream>#include <string>#include <cstdlib>using namespace std;int main() { string s; cin >> s; double n = atof(s.c_str()); ...原创 2019-03-07 19:40:20 · 28870 阅读 · 1 评论 -
整数位数
#include <iostream>#include <stdio.h>#include <cmath>using namespace std;int main() { double n; int k; int res = 0; scanf("%lf", &n); if (n > -1 &a...原创 2019-02-27 13:29:42 · 750 阅读 · 0 评论 -
你会存钱吗?
#include <iostream>#include <cmath>using namespace std;int main() { double maxMoney = 0; double temp; int a1, b1, c1, d1, e1; for (int a = 0; a <= 2; a++) { ...原创 2019-02-27 13:07:55 · 1310 阅读 · 0 评论 -
玛雅人的密码
题目描述玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串,(2=<N<=13)该字符串中只含有0,1,2三种数字,问这个字符串要移位几次才能解开密码,每次只能移动相邻的两个数字。例如02120经过一次移位,可以得到20120,01220,02210,02102,其中20120符合要求,因此输出为1.如果无论移位多少次都解不开密码,输出-1...原创 2019-03-04 21:35:16 · 909 阅读 · 0 评论 -
C++保留小数问题
C++中保留小数需要引入头文件iomanip,下面代码展示了如何保留两位小数。#include <iostream>#include <math.h>#include <iomanip>using namespace std;int main() { int n; double a, b, c; double s = ...原创 2019-02-25 22:00:52 · 1285 阅读 · 0 评论 -
约瑟夫问题II
题目描述约瑟夫问题是一个著名的趣题。这里我们稍稍修改一下规则。有n个人站成一列。并从头到尾给他们编号,第一个人编号为1。然后从头开始报数,第一轮依次报1,2,1,2...然后报到2的人出局。接着第二轮再从上一轮最后一个报数的人开始依次报1,2,3,1,2,3...报到2,3的人出局。以此类推直到剩下以后一个人。现在需要求的即是这个人的编号。给定一个intn,代表游戏的人数。请返回最后一个...原创 2019-03-05 15:40:45 · 383 阅读 · 0 评论 -
约瑟夫问题I
约瑟夫问题是一个非常著名的趣题,即由n个人坐成一圈,按顺时针由1开始给他们编号。然后由第一个人开始报数,数到m的人出局。现在需要求的是最后一个出局的人的编号。给定两个int n和m,代表游戏的人数。请返回最后一个出局的人的编号。保证n和m小于等于1000。输入样例5 3输出样例4#include <iostream>#include <...原创 2019-03-05 15:40:30 · 254 阅读 · 0 评论 -
一年中的第几天
#include <stdio.h>#include <math.h>//判断是否是闰年bool isLeapYear(int y) { if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) { return true; } return false;}//...原创 2019-02-26 15:19:24 · 814 阅读 · 0 评论 -
最次方数
编写一个程序求一个整数任意次方的最后三位数。即:求的最后三位数,其中x和a从键盘输入。输入样例 13 13输出样例 253#include <stdio.h>#include <math.h>//求出x的a次方的最后三位数void lastThreeNum(int x, int a) { int i; int nu...原创 2019-02-26 16:41:18 · 1037 阅读 · 2 评论 -
五猴分桃
5只猴子分一堆桃子,怎么也不能分成5等份,只好先去睡觉,准备第二天再分。夜里1只猴子偷偷爬起来,先吃掉1个桃子,然后将其分成5等份,藏起自己的一份就去睡觉了;第2只猴子又爬起来,吃掉1个桃子后,也将桃子分成5等分,藏起自己的一份睡觉去了;以后的3只猴子都先后照此办理。问最初至少有多少个桃子?最后一只猴子走后还有多少个桃子?#include <stdio.h>int main(...原创 2019-02-26 18:48:19 · 990 阅读 · 0 评论 -
求两个多项式的和
题目描述输入两个多项式,计算它们的和。 每个多项式有若干对整数表示,每组整数中,第一个整数表示系数(非0),第二个整数表示该项的次数。 如由3 3 5 -2 1 4 0表示3x^5 - 2 * x + 4其中第一个3表示该多项式由三个整数对表示。输入描述输入为两行,分别表示两个多项式。表示每项的整数对按照次数大小降序给出。(次数绝对值小于1000,系数绝对值小于10000)...原创 2019-03-02 22:32:56 · 1038 阅读 · 0 评论 -
表达式运算
题目描述第一行输入行数n,再在接下来n行每行输入一个表达式,得出结果输入样例31+12.2/31+2*3输出样例20.77方法一#include <bits/stdc++.h>using namespace std;double F(string s) { queue<double> q_num...原创 2019-03-07 21:06:36 · 428 阅读 · 0 评论