21xrx.com
2025-03-22 20:36:07 Saturday
文章检索 我的文章 写文章
C++常见笔试编程题
2023-06-29 21:08:02 深夜i     9     0
C++ 笔试 编程题 常见

C++是一种广泛应用于计算机程序设计的编程语言,也是许多公司和机构笔试中常用的编程语言。在C++笔试中,常会涉及到一些编程题目,下面就介绍一些常见的C++笔试编程题。

1. 翻转字符串

输入一个字符串,将其翻转后输出。例如,输入"hello",输出"olleh"。

解决方法:可以使用一个循环,从字符串末尾开始把每个字符加入一个新字符串中。代码如下:

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

2. 求两个数的最大公约数

输入两个整数,输出它们的最大公约数。例如,输入6和9,输出3。

解决方法:可以使用欧几里得算法,即反复用较小的数去除较大的数,直到最大公约数为其中一个数为止。代码如下:

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

3. 等差数列求和

输入一个等差数列的首项、公差和项数,输出该等差数列的和。例如,输入首项为1、公差为2、项数为5,输出15。

解决方法:可以使用等差数列求和公式,即S = n/2 * (2 * a + (n - 1) * d),其中a为首项,d为公差,n为项数。代码如下:

#include <iostream>
using namespace std;
int main() {
  int a, d, n, sum;
  cin >> a >> d >> n;
  sum = n * (2 * a + (n - 1) * d) / 2;
  cout << sum << endl;
  return 0;
}

4. 判断回文数

输入一个整数,判断它是否是回文数(从左向右和从右向左读都一样)。例如,输入121,输出是;输入123,输出否。

解决方法:可以将整数转换为字符串,然后判断其翻转后的字符串是否和原字符串相等。代码如下:

#include <iostream>
#include <string>
using namespace std;
int main() {
  int num;
  string str, rev = "";
  cin >> num;
  str = to_string(num);
  for (int i = str.length() - 1; i >= 0; i--) {
    rev += str[i];
  }
  if (str == rev)
    cout << "是" << endl;
  
  else
    cout << "否" << endl;
  
  return 0;
}

以上是部分C++笔试编程题,希望能帮助大家应对笔试挑战。

  
  

评论区