21xrx.com
2025-04-21 12:51:54 Monday
文章检索 我的文章 写文章
玩转C++:简单好玩的代码
2023-06-23 18:17:42 深夜i     14     0
C++语言 代码编写 程序设计 好玩的项目 学习成果

作为一门广泛应用于软件开发的编程语言,C++ 无疑是必备技能之一。但是,学习编程并不一定要枯燥无味,也可以有趣、好玩。今天,我们就来分享几个简单、好玩的 C++ 代码,希望能让读者加深对这门语言的了解。

1. 数一个数的二进制中有多少个 1

这是一个经典的算法题,同学们可以试试写一个 C++ 代码实现。假设需要求一个数的二进制中有多少个 1,则可以按如下方式解决:

#include <iostream>
using namespace std;
int countOne(int n) {
  if (n == 0) return 0;
  return (n & 1) + countOne(n >> 1);
}
int main() {
  int n;
  cin >> n;
  cout << countOne(n) << endl;
  return 0;
}

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

判断一个数是否是素数是一个常见的应用场景。同学们可以使用下面这段代码来判断一个数是否是素数:

#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int n) {
  if (n < 2) return false;
  int sqrtn = sqrt(n);
  for (int i = 2; i <= sqrtn; i++) {
    if (n % i == 0) return false;
  }
  return true;
}
int main() {
  int n;
  cin >> n;
  if (isPrime(n)) cout << "Yes" << endl;
  else cout << "No" << endl;
  return 0;
}

3. 快速排序

快速排序是一种非常高效的排序算法。同学们可以使用下面的代码快速实现排序:

#include <iostream>
using namespace std;
void quickSort(int arr[], int left, int right) {
  if (left >= right) return;
  int i = left, j = right, tmp = arr[left];
  while (i < j) {
    while (i < j && arr[j] >= tmp) j--;
    arr[i] = arr[j];
    while (i < j && arr[i] <= tmp) i++;
    arr[j] = arr[i];
  }
  arr[i] = tmp;
  quickSort(arr, left, i - 1);
  quickSort(arr, i + 1, right);
}
int main() {
  int n;
  cin >> n;
  int arr[100];
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }
  quickSort(arr, 0, n - 1);
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}

以上就是我们分享的几个简单、好玩的 C++ 代码。希望大家都能够从中受益,学好 C++ 语言!

  
  

评论区