小唐开始刷蓝桥(三)2018年第九届C/C++ B组蓝桥杯省赛真题

简介: 小唐开始刷蓝桥(三)2018年第九届C/C++ B组蓝桥杯省赛真题

前言

小唐,终于考完试了,寒假开始好好更新我们的算法,一起来看看会有哪一些好玩的题目呢?

欢迎来到我们的第三期!!!

一、第几天

题目描述:

2000年的1月1日,是那一年的第1天。

那么,2000年的5月4日,是那一年的第几天?

注意:需要提交的是一个整数,不要填写任何多余内容。

分析分析:

这因该是我目前这几期里面最简单的题了吧,我们可以直接手算,如果我们要打代码的话就是…

题目代码

#include <iostream>
#include <algorithm>
using namespace std;
int print(int year,int yue,int ri)
{
  int y=1,r=1,count=1;//用于计数
  while(1)
  {
    r++;
    count++;
    if(y==1||y==3||y==5||y==7||y==8||y==10||y==12)
    {
      if(r>31)
      {
        y++;
        r=1;
      }
    }
    if(y==2)
    {
      if(year%4==0||year%400==0&&year%100!=0)
      {
        if(r>29)
        {
          y++;
          r=1;
        }
      }
      else
      {
        if(r>28)
        {
          y++;
          r=1;
        }
      }
    }
    if(y==4||y==3||y==6||y==9||y==11)
    {
      if(r>30)
      {
        y++;
        r=1;
      }
    }
    if(yue==y&&ri==r)
    {
      break;
    }
  }
  return count;
}
int main()
{
  int year,yue,ri;
  cin>>year>>yue>>ri;
  cout<<print(year,yue,ri); 
  
}

运行结果:

125(我们直接手算的话就是 31+29+31+30+4)

二、明码

**题目描述:**汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。

16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。

一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。

把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,

一共16行,布局是:

第1字节,第2字节

第3字节,第4字节

第31字节, 第32字节

这道题目是给你一段多个汉字组成的信息,每个汉字用32个字节表示,这里给出了字节作为有符号整数的值。

题目的要求隐藏在这些信息中。你的任务是复原这些汉字的字形,从中看出题目的要求,并根据要求填写答案。

这段信息是(一共10个汉字):

4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0 
16 64 16 64 34 68 127 126 66 -124 67 4 66 4 66 -124 126 100 66 36 66 4 66 4 66 4 126 4 66 40 0 16 
4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0 
0 -128 64 -128 48 -128 17 8 1 -4 2 8 8 80 16 64 32 64 -32 64 32 -96 32 -96 33 16 34 8 36 14 40 4 
4 0 3 0 1 0 0 4 -1 -2 4 0 4 16 7 -8 4 16 4 16 4 16 8 16 8 16 16 16 32 -96 64 64 
16 64 20 72 62 -4 73 32 5 16 1 0 63 -8 1 0 -1 -2 0 64 0 80 63 -8 8 64 4 64 1 64 0 -128 
0 16 63 -8 1 0 1 0 1 0 1 4 -1 -2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 5 0 2 0 
2 0 2 0 7 -16 8 32 24 64 37 -128 2 -128 12 -128 113 -4 2 8 12 16 18 32 33 -64 1 0 14 0 112 0 
1 0 1 0 1 0 9 32 9 16 17 12 17 4 33 16 65 16 1 32 1 64 0 -128 1 0 2 0 12 0 112 0 
0 0 0 0 7 -16 24 24 48 12 56 12 0 56 0 -32 0 -64 0 -128 0 0 0 0 1 -128 3 -64 1 -128 0 0 

分析分析:

这个题目看下来,有多少人和小唐一个是一脸懵逼的举一个小爪爪,解读一下,简单的来说就是我们一个字是32个字节对吧,然后看他题目的意思就是我们一行是两个字节,也就是16位,我们到时候直接用1字节=8位来转,如果是1我们就加一个“*”号,0就是一个空格 是不是还是有点蒙看看这个:

像我们第一行4 0(00000100 00000000)

然后把我们的字写出来就好了

在这里我们主要就是对于转码知识的掌握还有就是如果我们会用bitset<8>就是把一个数转成8位那么我们的速度会更快

题目代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,m;
    string str1,str2;
    while(cin>>n>>m){
        bitset<8> b(n);//这个函数可以直接帮助我们去化二进制,八位的那种,后面就是判断了
        str1 = b.to_string();
        cout<<str1;
        int len1 = str1.length();
        for(int i=0;i<len1;i++){
          if(str1[i] == '0')printf(" ");
          else printf("*");
        }
        bitset<8> c(m);
        str2 = c.to_string();
        int len2 = str2.length();
        for(int i=0;i<len2;i++){
          if(str2[i] == '0')printf(" ");
          else printf("*");
        }
        printf("\n");
    }
    return 0;
}

运行结果:

pow(9,9)=387420489(注意我们求这个的时候要去使用long long )

三、乘积尾零

题目描述:

如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?

5650  4542  3554  473   946   4114  3871  9073  90    4329
2758  7949  6113  5659  5245  7432  3051  4434  6704  3594
9937  1173  6866  3397  4759  7557  3070  2287  1453  9899
1486  5722  3135  1170  4014  5510  5120  729   2880  9019
2049  698   4582  4346  4427  646   9742  7340  1230  7683
5693  7015  6887  7381  4172  4341  2909  2027  7355  5649
6701  6645  1671  5978  2704  9926  295   3125  3878  6785
2066  4247  4800  1578  6652  4616  1113  6205  3264  2915
3966  5291  2904  1285  2193  1428  2265  8730  9436  7074
689   5510  8243  6114  337   4096  8199  7313  3685  211

分析分析:

像做这种题目的时候可能就要用到我们的的小学知识啦【手动狗头】

“咳咳~,小朋友们,多少乘以多少是0呀”

这下不就不来了吗,说是叫我们去统计0的个数,其实还想要我们去统计2和5的个数,到时候欸,就直接出来了,然后我们去输出少一个那个就可以了

题目代码

#include <bits/stdc++.h>
using namespace std;
int a[]={
  5650,  4542,  3554,  473,   946,   4114,  3871,  9073,  90,    4329,
  2758,  7949,  6113,  5659,  5245,  7432,  3051,  4434,  6704,  3594,
  9937,  1173,  6866,  3397,  4759,  7557,  3070,  2287,  1453,  9899,
  1486,  5722,  3135,  1170,  4014,  5510,  5120,  729,   2880,  9019,
  2049,  698,   4582,  4346,  4427,  646,   9742,  7340,  1230,  7683,
  5693,  7015,  6887,  7381,  4172,  4341,  2909,  2027,  7355,  5649,
  6701,  6645,  1671,  5978,  2704,  9926,  295,   3125,  3878,  6785,
  2066,  4247,  4800,  1578,  6652,  4616,  1113,  6205,  3264,  2915,
  3966,  5291,  2904,  1285,  2193,  1428,  2265,  8730,  9436,  7074,
  689,   5510,  8243,  6114,  337,   4096,  8199,  7313,  3685,  211
}; 
int main()
{
  int n2=0,n5=0;
  int n=sizeof(a)/sizeof(int);
  for(int i=0;i<n;i++)
    {
      while(1)
      {
        if(a[i]%2==0)
        {
          n2++;
          a[i]=a[i]/2;
        }
        else if(a[i]%5==0)
        {
          n5++;
          a[i]=a[i]/5;
        }
        else
        break;
      }
    }
    cout<<min(n2,n5);
    return 0;
}

运行结果:

31

四、测试次数

题目描述:

x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。

各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。

x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。

如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。

特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。

如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n

为了减少测试次数,从每个厂家抽样3部手机参加测试。

某次测试的塔高为1000层,如果我们总是采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?

请填写这个最多测试次数。

注意:需要填写的是一个整数,不要填写任何多余内容。

分析分析:

在写这个题目的时候,我就在想,没有这么的复杂,我一开想的就是直接2分法,1000,500,250…等等,有没有发现一个问题了,500我手机摔坏了,250手机坏了,125我手机坏了,三台手机是不是都直接over了,所以说第三台手机我们必须从1开始,前面的手机就是一个用来给我们缩小范围的,我们设立一个x(在x就摔坏了)

然后

1+2+3+…+x-1 我们的摔第三次所有可能的总次数

然后,我们是不是要 第一次+第二次+第三次<1000(我们最多只有这么多次)

然后就是

500+250+x-1+(x-1)*(x-2)/2<=1000

x<=16

最后答案为16+3

我在写完之后也去看了看别人的代码,基本都是直接用op写的,大家也可以去看看

op的写法

题目代码

#include<stdio.h>
#include<algorithm>
using namespace std;
int dp[5][1100];
void solve(int phone,int floor)
{
    int i,j,k;
    for(i=1; i<=phone; i++)
        for(j=1; j<=floor; j++)
            dp[i][j]=j;
    for(i=2; i<=phone; i++)
    {
        for(j=1; j<=floor; j++)
        {
            for(k=1; k<j; k++)
                dp[i][j]=min(dp[i][j],max(dp[i-1][k-1],dp[i][j-k])+1);
        }
    }
}
int main()
{
    solve(3,1000);
    printf("%d\n",dp[3][1000]);
    return 0;
}

运行结果:

19

五、快速排序

题目描述:

以下代码可以从数组a[]中找出第k小的元素。

它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。

请仔细阅读分析源码,填写划线部分缺失的内容。

#include <stdio.h>
int quick_select(int a[], int l, int r, int k) {
  int p = rand() % (r - l + 1) + l;
  int x = a[p];
  {int t = a[p]; a[p] = a[r]; a[r] = t;}
  int i = l, j = r;
  while(i < j) {
    while(i < j && a[i] < x) i++;
    if(i < j) {
      a[j] = a[i];
      j--;
    }
    while(i < j && a[j] > x) j--;
    if(i < j) {
      a[i] = a[j];
      i++;
    }
  }
  a[i] = x;
  p = i;
  if(i - l + 1 == k) return a[i];
  if(i - l + 1 < k) return quick_select( _____________________________ ); //填空
  else return quick_select(a, l, i - 1, k);
}
  
int main()
{
  int a[] = {1, 4, 2, 8, 5, 7, 23, 58, 16, 27, 55, 13, 26, 24, 12};
  printf("%d\n", quick_select(a, 0, 14, 5));
  return 0;
}

分析分析:

这个题目怎么说,不就是我们的老朋友快速排序吗!!!

就是分组比大小的题目,我们就算不会,但是也可以通过后面的代码去推断出来

后面的代码是

quick_select(a, l, i - 1, k);

虽然说没有明说,但是我们要知道这个不就是

i - l + 1 > k的情况吗

然后就可以直接开始推断了

看到没我们的话是一个i-1,也就是他右边的减少

那么我们要填的这个就肯定是一个+1,让他的左边往右边移动,后面就是我们对于k的一个调整

第K大的值在数组的第K位,在这个位置的左边的都比它小,右边的都比它大,但整个数组不一定是有序的。

运行结果:

a, i+1, r, k-(i-l+1)

六、递增三元组

题目描述:

给定三个整数数组

A = [A1, A2, … AN],

B = [B1, B2, … BN],

C = [C1, C2, … CN],

请你统计有多少个三元组(i, j, k) 满足:

1 <= i, j, k <= N

Ai < Bj < Ck

【输入格式】

第一行包含一个整数N。

第二行包含N个整数A1, A2, … AN。

第三行包含N个整数B1, B2, … BN。

第四行包含N个整数C1, C2, … CN。

对于30%的数据,1 <= N <= 100

对于60%的数据,1 <= N <= 1000

对于100%的数据,1 <= N <= 100000 0 <= Ai, Bi, Ci <= 100000

分析分析:

这个题目一眼看下来,感觉怎么样,是不是有那味了,我想着的话,就是我们先排序,直接用#include里面的sort,然后我去遍历我们的第一个数组,看看,在第二个里面有多少个比大的,然后再去和第三个做一次比较,我们也就只要去获取,在比第二个大的时候,第三行的中比第二个大的个数

题目代码

#include <iostream>
#include <algorithm> 
using namespace std;
int a[1000],b[1000],c[1000];
//赋值函数 
void fuzhi(int a[],int n)
{
  for(int i=0;i<n;i++)
  {
    cin>>a[i];
  }
}
//输出函数 
void print(int a[],int n)
{
  for(int i=0;i<n;i++)
  {
    cout<<a[i];
  }
}
//寻找函数,找到比他大的那个值的下角标 ,x是我们的标准值 
int findd(int a[],int x,int n) 
{
  int temp=0;
  for(int i=0;i<n;i++)
  {
    if(a[i]>x)
    {
      return i;
    }
  } 
  return -1;//表示没有找到 
} 
int main()
{
  int countt=0;//记录总含量 
  int n;
  cin>>n;
  //初始化赋值 
  fuzhi(a,n);
  fuzhi(b,n);
  fuzhi(c,n);
  //调用函数开始排序 
  sort(a,a+n);
  sort(b,b+n);
  sort(c,c+n);
  //开始寻找我们的里面满足条件的最大值
  for(int i=0;i<n;i++)
  {
    int temp=findd(b,a[i],n);//找到我们当前这个数在第二层的位置,temp就是下角标
    if(temp==-1)
    {
      continue;
    }
    else
    {
      for(int j=temp;j<n;j++)
      {
        int cemp=findd(c,b[j],n);
        if(cemp==-1)
        {
          continue;
        }
        else
        {
          countt=(n-cemp)+countt;//后面有多少种就是一个他的n-下角标 
        }
      } 
    }
  } 
   cout<<countt; 
} 

运行结果:

【样例输入】
3
1 1 1
2 2 2
3 3 3
【样例输出】
27

七、螺旋折线

题目描述:

如图p1.png所示的螺旋折线经过平面上所有整点恰好一次。

对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。

例如dis(0, 1)=3, dis(-2, -1)=9

给出整点坐标(X, Y),你能计算出dis(X, Y)吗?

分析分析:

这个题目初一看,什么鬼?看着向四周发散,我陷入了沉思

等等,灵光的闸现,永远就在这一瞬间

看看,我们是不是先

左 1 上 1

右 2 下 2

左 3 上 3

。。。

好家伙,我们要求的也就是第几个点也就是把这个加起来,直接对他进行模拟运就可以了

题目代码

#include <iostream>
#include <algorithm> 
using namespace std;
int main()
{
  //提前赋值 tmep为点的个数 x和y用来记录他们的 
  int x1,y1,x2=0,y2=0,temp=0,tempx=1,tempy=1;
  cin>>x1>>y1;
  //开始模拟//x1!=x2&&y1!=y2
  for(int i=1;;i++)
  {
    //对于x的模拟 
    if(tempx%2==1)
    {
      for(int j=0;j<i;j++)
      {
        x2--;
        temp++; //总点数加1 
        if(x1==x2&&y1==y2)
        goto A;
      }
       tempx++;
    }
    else 
    {
      for(int j=0;j<i;j++)
      {
        x2++;
        temp++; //总点数加1 
        if(x1==x2&&y1==y2)
        goto A;
      } 
      tempx++;
    }
    //对于y的模拟 
    if(tempy%2==1)
    {
      for(int j=0;j<i;j++)
      {
        y2++;
        temp++; //总点数加1 
        if(x1==x2&&y1==y2)
        goto A;
      }
       tempy++;
    }
    else 
    {
      for(int j=0;j<i;j++)
      {
        y2--;
        temp++; //总点数加1 
        if(x1==x2&&y1==y2)
        goto A;
      } 
      tempy++;
    }
    
  } 
A:
  cout<<temp; 
} 

运行结果:


八、日志统计

题目描述:

小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:

ts id

表示在ts时刻编号id的帖子收到一个"赞"。

现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。

具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(注意是左闭右开区间)收到不少于K个赞,该帖就曾是"热帖"。

给定日志,请你帮助小明统计出所有曾是"热帖"的帖子编号。

第一行包含三个整数N、D和K。

以下N行每行一条日志,包含两个整数ts和id。

对于50%的数据,1 <= K <= N <= 1000

对于100%的数据,1 <= K <= N <= 100000 0 <= ts <= 100000 0 <= id <= 100000

分析分析:

又是我们sort来排序,然后再去用book来做一个小小的标记就可以了!

题目代码

#include<stdio.h>
#include<algorithm>
using namespace std;
struct paix
{
  int ts,id;
}px[110000];
bool my(paix a,paix b)
{
  if(a.id==b.id)
    return a.ts<b.ts;
  else return a.id<b.id;
}
int main()
{
  int n,d,k,i,j,p=0,book[110010]={0};
  scanf("%d %d %d",&n,&d,&k);
  for(i=0;i<n;i++)
    scanf("%d %d",&px[i].ts,&px[i].id);
  sort(px,px+n,my);
  for(i=0;i<n;i++)
  {
    j=i;
    if(book[px[i].id]<0) continue;
    book[px[i].id]=0;
    while(1)
    {
      if(px[j].ts<px[i].ts+d&&px[j].id==px[i].id) book[px[i].id]+=1;
      else break;
      if(book[px[j].id]>=k)
      {
        printf("%d\n",px[j].id);
        book[px[j].id]=-1;
        break;
      }
      j++;
    }
  }
  return 0;
}

运行结果:

【样例输入】
7 10 2  
0 1  
0 10    
10 10  
10 1  
9 1
100 3  
100 3 
【样例输出】
1
3

九、全球变暖

题目描述:

你有一张某海域 N×N 像素的照片,”.”表示海洋、”#”表示陆地,如下所示:

.......
.##....
.##....
....##.
..####.
...###.
.......

其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2 座岛屿。

由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。

具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。

例如上图中的海域未来会变成如下样子:

.......
.......
.......
.......
....#..
.......
.......

请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。

输入格式

第一行包含一个整数N。

以下 N 行 N 列,包含一个由字符”#”和”.”构成的 N×N 字符矩阵,代表一张海域照片,”#”表示陆地,”.”表示海洋。

照片保证第 1 行、第 1 列、第 N 行、第 N 列的像素都是海洋。

** 分析分析:**

分析啥?小唐不会了

大家可以看看这个

这个人会

题目代码

#include<stdio.h>
#include<algorithm>
using namespace std;
struct paix
{
  int ts,id;
}px[110000];
bool my(paix a,paix b)
{
  if(a.id==b.id)
    return a.ts<b.ts;
  else return a.id<b.id;
}
int main()
{
  int n,d,k,i,j,p=0,book[110010]={0};
  scanf("%d %d %d",&n,&d,&k);
  for(i=0;i<n;i++)
    scanf("%d %d",&px[i].ts,&px[i].id);
  sort(px,px+n,my);
  for(i=0;i<n;i++)
  {
    j=i;
    if(book[px[i].id]<0) continue;
    book[px[i].id]=0;
    while(1)
    {
      if(px[j].ts<px[i].ts+d&&px[j].id==px[i].id) book[px[i].id]+=1;
      else break;
      if(book[px[j].id]>=k)
      {
        printf("%d\n",px[j].id);
        book[px[j].id]=-1;
        break;
      }
      j++;
    }
  }
  return 0;
}

运行结果:

【输入样例1】
7
.......
.##....
.##....
....##.
..####.
...###.
.......
【输出样例1】
1
【输入样例2】
9
.........
.##.##...
.#####...
.##.##...
.........
.##.#....
.#.###...
.#..#....
.........
【输出样例2】
1
.........

十、乘积最大

题目描述:

给定N个整数A1, A2, … AN。请你从中选出K个数,使其乘积最大。

请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以1000000009的余数。

注意,如果X<0, 我们定义X除以1000000009的余数是负(-X)除以1000000009的余数。 即:0-((0-x) %

1000000009)

分析分析:

我们还是先排序,然后再去进行计算

这个宝写得OK的!

题目代码

#include<iostream>
#include <vector>
#include<algorithm>
using namespace std;
int main(){
    int n,k;
    long long ans;
    cin>>n>>k;
    vector<long long>num;
    for(int i=0;i<n;i++){
        int temp;
        cin>>temp;
        num.push_back(temp);
    }
    sort(num.begin(),num.end());
    if(k%2!=0){
        ans=num.back();
        k=k-1;
        num.pop_back();
    }
    else
        ans=1;
    while(k>0){
        if((num[0]*num[1])>num.at(num.size()-1)*num.at(num.size()-2)){
            ans=ans*num[0]*num[1]%1000000009;
            num.erase(num.begin(),num.begin()+1);
        }
        else{
            ans=ans*num.at(num.size()-1)*num.at(num.size()-2)%1000000009;
            num.pop_back();
            num.pop_back();
        }
        k-=2;
    }
    cout<<ans;
    return 0;
}

运行结果:

【输入样例】
5 3
-100000
-10000 2 100000 10000
【输出样例】
999100009
【输入样例】
5 3
-100000
-100000
-2
-100000
-100000
【输出样例】
-999999829
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
22天前
|
数据安全/隐私保护 C++
小唐开始刷蓝桥(九)2012年第三届C/C++ B组蓝桥杯省赛真题
小唐开始刷蓝桥(九)2012年第三届C/C++ B组蓝桥杯省赛真题
|
23天前
|
算法 测试技术 C++
小唐开始刷蓝桥(八)2013年第四届C/C++ B组蓝桥杯省赛真题
小唐开始刷蓝桥(八)2013年第四届C/C++ B组蓝桥杯省赛真题
|
23天前
|
算法 C++ 数据格式
小唐开始刷蓝桥(七)2014年第五届C/C++ B组蓝桥杯省赛真题
小唐开始刷蓝桥(七)2014年第五届C/C++ B组蓝桥杯省赛真题
|
23天前
|
算法 C++
小唐开始刷蓝桥(六)2015年第六届C/C++ B组蓝桥杯省赛真题
小唐开始刷蓝桥(六)2015年第六届C/C++ B组蓝桥杯省赛真题
|
9天前
|
编译器 C++
C++进阶之路:何为运算符重载、赋值运算符重载与前后置++重载(类与对象_中篇)
C++进阶之路:何为运算符重载、赋值运算符重载与前后置++重载(类与对象_中篇)
23 1
|
1天前
|
程序员 C语言 C++
【C++语言】继承:类特性的扩展,重要的类复用!
【C++语言】继承:类特性的扩展,重要的类复用!
|
1天前
|
C++ 容器 存储
【C++语言】想学STL,先细细拿捏string类,万字详解string类 (内附精美思维导图)
【C++语言】想学STL,先细细拿捏string类,万字详解string类 (内附精美思维导图)
|
1天前
|
C++ 编译器
【C++语言】Date类的代码实现(操作符重载运用)
【C++语言】Date类的代码实现(操作符重载运用)
|
1天前
|
C++ 索引
C++ string类常用操作
C++ string类常用操作
|
1天前
|
编译器 数据安全/隐私保护 C++
c++primer plus 6 读书笔记 第十三章 类继承
c++primer plus 6 读书笔记 第十三章 类继承