21xrx.com
2024-11-22 09:35:47 Friday
登录
文章检索 我的文章 写文章
C++面试编程题库与答案
2023-06-27 04:05:45 深夜i     --     --
C++ 面试 编程题库 答案 解题思路

C++是一种高效且通用的编程语言,C++编程题在面试过程中经常出现。那么有哪些经典的C++面试编程题呢?下面是一些常见的C++面试编程题和答案。

1. 反转一个字符串

题目描述:给定一个字符串,将其反转输出。

C++代码:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string s;

  getline(cin, s);

  for (int i = s.size() - 1; i >= 0; i--) {

    cout << s[i];

  }

  return 0;

}

2. 判断一个数是否为素数

题目描述:给定一个数,判断它是否为素数。

C++代码:


#include <iostream>

using namespace std;

bool isPrime(int n) {

  if (n < 2)

    return false;

  

  for (int i = 2; i * i <= n; i++) {

    if (n % i == 0)

      return false;

    

  }

  return true;

}

int main() {

  int n;

  cin >> n;

  if (isPrime(n))

    cout << "是素数" << endl;

   else

    cout << "不是素数" << endl;

  

  return 0;

}

3. 判断一个字符串是否为回文串

题目描述:给定一个字符串,判断它是否为回文串(正反读都一样)。

C++代码:


#include <iostream>

#include <string>

using namespace std;

bool isPalindrome(string s) {

  for (int i = 0; i < s.size() / 2; i++) {

    if (s[i] != s[s.size() - i - 1])

      return false;

    

  }

  return true;

}

int main() {

  string s;

  getline(cin, s);

  if (isPalindrome(s))

    cout << "是回文串" << endl;

   else

    cout << "不是回文串" << endl;

  

  return 0;

}

4. 求一个数的阶乘

题目描述:给定一个数,求它的阶乘。

C++代码:


#include <iostream>

using namespace std;

int factorial(int n) {

  if (n == 0)

    return 1;

  

  return n * factorial(n - 1);

}

int main() {

  int n;

  cin >> n;

  cout << n << "的阶乘为:" << factorial(n) << endl;

  return 0;

}

5. 统计一段文本中每个单词的出现次数

题目描述:给定一个文本,统计它里面每个单词的出现次数。

C++代码:


#include <iostream>

#include <string>

#include <map>

#include <sstream>

using namespace std;

int main() {

  string s;

  getline(cin, s);

  istringstream iss(s);

  map<string, int> cnt;

  string word;

  while (iss >> word) {

    cnt[word]++;

  }

  for (map<string, int>::iterator it = cnt.begin(); it != cnt.end(); it++)

    cout << it->first << ": " << it->second << endl;

  

  return 0;

}

以上是常见的C++面试编程题和答案,如果你在面试中遇到了这些题目,希望能对你有所帮助。同时,希望大家多多练习,不断提高自己的编程能力。

  
  

评论区

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