C++
文章平均质量分 82
ZJ.WANG
这个作者很懒,什么都没留下…
展开
-
【PAT乙级】1002.读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100 。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu体会:一定要注意题目中的要求:最后一个拼音数字后没有空格,因此b[0]需要单独写出来。代码:#inc原创 2020-07-12 00:21:54 · 834 阅读 · 1 评论 -
【PAT乙级】1004.成绩排名
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式:对每个测试用例输出 2 行,第原创 2020-07-14 23:09:18 · 125 阅读 · 0 评论 -
【PAT乙级】1006.换个格式输出整数
让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出 n。输入样例 1:234输出样例 1:BBSSS1234输入样例 2:23输出样例 2:SS12原创 2020-08-19 22:33:40 · 119 阅读 · 0 评论 -
【PAT乙级】1001.害死人不偿命的(3n+1)猜想
卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单原创 2020-07-11 23:17:23 · 108 阅读 · 0 评论 -
【PAT乙级】1003.答案正确自动判题系统我要通过
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者是仅由字母 A 组转载 2020-07-13 12:00:30 · 2669 阅读 · 0 评论 -
【OpenCV】(三)opencv入门之图像的基本操作——图像阈值分割(ostu算法)
所谓图像分割是根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性和相似性。现有的图像分割有以下几类:1.基于阈值分割:通过设定不同的特征阈值,把图像像素点分为若干类。最稳定,且无需参数,对于现实图像保持了最好的均匀性和形状特性2.基于区域分割3.基于边缘分割:图像中边缘处像素的灰度值不连续,这种不连续性可通过求导数来检测。常用...原创 2019-11-19 22:24:13 · 3719 阅读 · 2 评论 -
【OpenCV】opencv入门之图像的形态学基本操作-----膨胀(dilate)和腐蚀(erode)函数原型及代码实现
图像形态学的基本操作:腐蚀、膨胀。图像的膨胀和腐蚀使用的函数为dilate和erode,以下是函数的原型:void dilate //erode( InputArray src, //输入源图像,填Mat类的图像即可,图像的通道数量是任意的 OutputArray dst, //目标图像,需要和源图像有一样的尺寸和类型 InputArray kernel, //膨...原创 2019-11-24 16:58:06 · 1416 阅读 · 0 评论 -
【OpenCV】(二)opencv入门之图像的基本操作——图像遍历、截取操作
OpenCV中图像的像素是以矩阵的形式储存,矩阵中的每一个元素代表一个像素,使用cv::Mat储存图像的像素。图像遍历下面介绍两种图像遍历方法:方法一:指针遍历图像(最高效)#include "pch.h"#include <core.hpp> #include <highgui.hpp> #include <imgproc.hpp> ...原创 2019-11-10 22:21:12 · 1077 阅读 · 1 评论 -
【Error】Ubuntu16.04中配置OpenCV提示缺少boostdesc_bgm.i文件出错的解决
本人小白,没有Linux学习基础,在Ubuntu16.04中配置OpenCV走了很多弯路,碰到下面的问题终于解决了。在此分享给大家。终端中提示以下错误:~/opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:673:20: fatal error: boostdesc_bgm.i: No such file or directory解决方...原创 2019-11-10 22:57:28 · 2163 阅读 · 7 评论 -
(STL及算法)7.顺序容器的操作
一、顺序容器操作11.容器的定义和类型别名2.begin和end成员(这两个成员返回的都是迭代器类型)顺序容器三种:vectorlistdeque这三种顺序容器的操作方式是一致的。#include <iostream>#include <vector>#include <list>#include <deque>using namespace std;int main(){ vector<int> a; cons原创 2020-08-29 19:08:40 · 189 阅读 · 0 评论 -
(STL及算法)6.顺序容器
一、顺序容器的定义1.顺序容器vectorlistdeque2.顺序容器适配器stackqueuepriority_queue#include <iostream>#include <vector>#include <list>#include <deque>#include "Cat.h"#include "Dog.h"using namespace std;int main(){ //顺序容器中的保存类型是非常灵活的原创 2020-08-28 15:29:28 · 141 阅读 · 0 评论 -
(STL及算法)5.Priority_queue优先级队列
最大值优先级队列:#include <iostream>#include <queue>using namespace std;int main(){ priority_queue<int, vector<int>> pq;//默认的是最大值优先级队列 pq.push(10); pq.push(5); pq.push(-1); pq.push(20); cout << "优先级队列里一共有: " << p原创 2020-08-23 16:20:13 · 123 阅读 · 0 评论 -
(STL及算法)4.queue
1.队列:FIFO先进先出2.自适应容器(容器适配器)3.栈适配器 STL queuequeue<int,deque> q;queue<int,list> q;q.empty()q.size()q.front()q.back()q.pop()q.push(item)原创 2020-08-23 14:52:01 · 170 阅读 · 0 评论 -
(STL及算法)3.Stack栈
1.堆栈定义:Stack(栈)是一种后进先出的数据结构,也就是LIFO(last in first out) ,最后加入栈的元素将最先被取出来,在栈的同一端进行数据的插入与取出,这一段叫做“栈顶”。使用STL的stack需要include一个头文件<stack>。2.Stack构造template <class T, class Container = deque<T> > class stack;如上,这对尖括号中有两个参数,第一个是T,表示栈中存放的数据的原创 2020-08-22 17:42:46 · 139 阅读 · 0 评论 -
(STL及算法)2.顺序容器STL list类
list 是顺序容器的一种。list 是一个双向链表。使用 list 需要包含头文件 list。双向链表的每个元素中都有一个指针指向后一个元素,也有一个指针指向前一个元素。list链表可以在开头、中间、末尾插入元素。1.在list开头插入元素同样使用push_front函数,#include <iostream>#include <list>using namespace std;int main(){ list<int> a; a.push原创 2020-08-21 16:39:59 · 143 阅读 · 0 评论 -
(STL及算法)1.顺序容器STL deque类
1.定义一个线性 collection,支持在两端插入和移除元素。名称 deque 是“double ended queue(双端队列)”的缩写,通常读为“deck”。大多数 Deque 实现对于它们能够包含的元素数没有固定限制,但此接口既支持有容量限制的双端队列,也支持没有固定大小限制的双端队列。2.deque与vector区别deque是一个STL中的动态数组,deque与vector非常类似。deque和vector唯一区别就是,deque可以在数组开头和末尾插入和删除数据,而vector只能从原创 2020-08-20 22:07:29 · 138 阅读 · 0 评论 -
(C++)标准IO库:面向对象的标准库
一、继承:基类-派生类二、3个头文件三、9个标准库类型四、IO对象不可复制或者赋值#include <iostream>#include <fstream>#include <sstream>#include <vector>using namespace std;void print1(ofstream of){ cout << "test" << endl;}void print2(ofstream原创 2020-07-19 22:07:01 · 173 阅读 · 1 评论 -
C++中的.和::和:和-」的区别
转自:https://blog.csdn.net/liao392781/article/details/97931845在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。1、A.B则A为对象或者结构体;2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;4、:一般用来表示继承;...转载 2020-07-08 21:49:33 · 545 阅读 · 0 评论 -
26.C++中的Bitset埃拉托斯特尼_筛选法(查找质数或素数)及改进
Bitset是C++语言的一个类库,用来方便地管理一系列的bit位而不用程序员自己来写代码,C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。#include <iostream>#include <bitset>#include <time.h>using namespace std;int main(){ int const max_number(1000); bits原创 2020-05-31 11:39:59 · 1456 阅读 · 0 评论