21xrx.com
2025-06-05 12:35:23 Thursday
文章检索 我的文章 写文章
C++ 程序设计期末考试题及答案
2023-07-05 11:22:16 深夜i     --     --
C++ 程序设计 期末考试 题目 答案

C++ 程序设计期末考试题及答案

近日,一份《C++ 程序设计期末考试题及答案》的资料在互联网上广为流传,成为了各类编程爱好者的热门话题。这份资料包含了40道 C++ 程序设计题目以及相应的答案解析,涵盖了 C++ 的基本语法、数据结构、面向对象编程等方面的考查。

下面是其中的一些题目及答案解析,可以帮助大家更好地了解该资料的实际内容:

1. 请用 C++ 编写一个程序,实现将输入的字符串翻转输出的功能。(10分)

答案:

#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
  string input;
  getline(cin, input);
  for (int i = input.length() - 1; i >= 0; i--)
    cout << input[i];
  cout << endl;
  return 0;
}

解析:该题考查了字符串的基本操作,例如字符串的获取、长度获取、反转输出等。

2. 请用 C++ 编写一个函数,实现计算两个整数的最大公约数。(10分)

答案:

#include <iostream>
using namespace std;
int gcd(int a, int b)
{
  return b == 0 ? a : gcd(b, a % b);
}
int main()
{
  int a, b;
  cin >> a >> b;
  cout << gcd(a, b) << endl;
  return 0;
}

解析:该题考查了递归的基本思想,C++ 标准库中已经有求两个整数最大公约数的函数,但是由于该题目希望考查学生的编程能力,因此要求编写一个自己的函数。

3. 请用 C++ 编写一个程序,实现读取一个字符串,在字符串中查找一个指定的字符,并返回该字符的索引位置(即在字符串中第几个位置出现)。如果未找到该字符,则返回 -1。(10分)

答案:

#include <iostream>
#include <string>
using namespace std;
int findChar(const string &str, char c)
{
  for (int i = 0; i < str.length(); i++)
    if (str[i] == c)
      return i;
  return -1;
}
int main()
{
  string str;
  char c;
  cin >> str >> c;
  cout << findChar(str, c) << endl;
  return 0;
}

解析:该题考查了对字符串的基本操作,如字符的遍历、判断等。

除了以上这些例子,该份资料中还有很多关于 C++ 程序设计的经典考题,从浅入深地展现了 C++ 的基本语法及程序设计思路,对于广大编程爱好者来说,是一份非常精彩、有价值的参考资料。

  
  

评论区