21xrx.com
2024-09-20 01:11:52 Friday
登录
文章检索 我的文章 写文章
“2021年计算机二级C++考试真题及答案”
2023-06-29 13:33:44 深夜i     --     --
2021年 计算机二级C++ 考试真题 答案 考试备考

2021年计算机二级C++考试真题及答案

近日,2021年计算机二级C++考试已经结束,为了帮助考生更好地了解考试内容,我们整理了考试真题及答案,供大家参考。

一、单项选择题

1. 下列关于C++ STL中的容器的描述中,错误的是:

A. vector是一种可变大小的数组容器,使用随机访问的方式访问元素。

B. list是一种双向链表容器,可以在任何位置插入和删除元素。

C. set是一种二叉搜索树容器,其中所有元素都是唯一的。

D. map是一种关联数组容器,可以通过关键字来访问元素。

答案:C

2. 下列关于C++智能指针的描述中,错误的是:

A. 智能指针是一种RAII技术,用于管理动态分配的资源,可以自动释放内存。

B. unique_ptr是一种独占式智能指针,只能有一个指针指向同一个对象。

C. shared_ptr是一种共享式智能指针,多个指针可以同时指向同一个对象。

D. weak_ptr是一种弱引用式智能指针,可以对shared_ptr进行监视,不会增加引用计数。

答案:D

二、填空题

1. 下列程序的输出结果是________。

#include

using namespace std;

int main() {

  int a[5] = 1;

  cout << a + 2 << endl;

  cout << *(a + 2) << endl;

  return 0;

}

答案:0x7ffdcfd0a408 2

2. 下列程序的输出结果是________。

#include

#include

using namespace std;

int main() {

  vector v 2;

  int * a = &v[0];

  cout << *(a + 1) << endl;

  cout << v.at(1) << endl;

  return 0;

}

答案:2 2

三、编程题

1. 题目描述

给定一个三角形的行数n,输出从三角形顶部走到底部所需的最小路径和。

示例:

输入:

[

[2],

[3,4],

[6,5,7],

[4,1,8,3]

]

输出:11

解释:从顶部到底部的最小路径和为2+3+5+1=11。

提示:

* 1 <= n <= 200

* 给定三角形内的元素均为非负整数。

2. 代码实现

class Solution {

public:

  int minimumTotal(vector >& triangle) {

    int n = triangle.size();

    vector dp(n, 1000000);

    dp[0] = triangle[0][0];

    for (int i = 1; i < n; i++) {

      for (int j = i; j >= 0; j--) {

        if (j == i) {

          dp[j] = dp[j - 1] + triangle[i][j];

        } else if (j == 0) {

          dp[j] = dp[j] + triangle[i][j];

        } else {

          dp[j] = min(dp[j], dp[j - 1]) + triangle[i][j];

        }

      }

    }

    int ans = 1000000;

    for (int i = 0; i < n; i++) {

      ans = min(ans, dp[i]);

    }

    return ans;

  }

};

以上就是2021年计算机二级C++考试的真题及答案,希望对大家有所帮助,在备考过程中要多多练习,熟练掌握考试所需的知识和技能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复