21xrx.com
2024-11-05 19:43:35 Tuesday
登录
文章检索 我的文章 写文章
C++ 2020年10月真题答案
2023-07-13 20:23:27 深夜i     --     --
C++ 2020 10月 真题 答案

近日,2020年C++程序设计语言全国考试已经圆满结束,考生们纷纷期待着答案的公布。下面我们就来看看这次考试的正确答案。

第一部分:选择题

1. 答案为D,20。

2. 答案为A,int *p。

3. 答案为B,char、short、int、long、long long、wchar_t、char16_t、char32_t。

4. 答案为C,11。

5. 答案为C,arr + 1、&arr[1]、p + 1、&p[1]。

6. 答案为D,*p++、(*p)++、++*p。

7. 答案为C,是,32比特的大小是4字节。

8. 答案为B,虚函数。

9. 答案为B,纯虚函数。

10. 答案为A,普通指针和指针数组。

第二部分:填空题

1. a[4] = 5。

2. p2[2] = 'k'。

3. &e = p + 1。

4. *(p + 2) = 5。

第三部分:编程题

题目:从键盘上输入n个整数,将其中的偶数放在前面,再将奇数放在后面,输出排序后的整数。

解答:


#include <iostream>

using namespace std;

int main()

{

  int n;

  cin >> n;

  int a[n]; // 定义整型数组a,大小为n

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

  {

    cin >> a[i];

  }

  // 定义两个指针p1、p2,分别指向a数组的第一个和最后一个位置

  int *p1 = a, *p2 = a + n - 1;

  while (p1 <= p2)

  {

    if (*p1 % 2 == 0 && *p2 % 2 != 0)

    {

      // 如果p1指向的数是偶数、p2指向的数是奇数,交换这两个数

      int tmp = *p1;

      *p1 = *p2;

      *p2 = tmp;

      p1++;

      p2--;

    }

    else if (*p1 % 2 == 0 && *p2 % 2 == 0)

    {

      p1++;

    }

    else

    

      p2--;

    

  }

  // 输出排序后的整数

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

  {

    cout << a[i] << " ";

  }

  return 0;

}

以上就是本次C++程序设计语言全国考试的正确答案。希望大家在考试中都能取得好成绩!

  
  

评论区

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