21xrx.com
2024-12-22 21:44:15 Sunday
登录
文章检索 我的文章 写文章
有趣的C++代码
2023-07-14 03:31:04 深夜i     --     --
C++游戏代码 C++动画代码 C++算法代码 C++ 数据可视化代码 C++ 模拟代码

C++是一种高级编程语言,使用广泛,尤其在游戏开发、操作系统和嵌入式系统中。除了其强大的功能外,C++还提供了许多有趣的代码和技巧,下面我们就来看看一些。

首先,让我们看看一个简单的C++程序,它打印出“Hello World”:


#include <iostream>

int main()

  std::cout << "Hello World!";

  return 0;

这个程序很简单,但是它是入门C++程序员的必须程序之一。它说明了如何包括头文件、定义主程序和打印输出。

接下来,我们来看看一个更有趣的例子:如何用C++绘制一个简单的ASCII艺术?以下是一个例子:


#include <iostream>

int main() {

  std::cout << "   /)_/)" << std::endl;

  std::cout << "  / o o \\" << std::endl;

  std::cout << "  (  \"  )" << std::endl;

  std::cout << "  \\~(*)~/" << std::endl;

  std::cout << "   - ^ -" << std::endl;

  return 0;

}

这个程序打印出了一个可爱的小兔子。它利用了C++输出语句,打印出了小兔子的像素。

除了绘制ASCII艺术外,C++也可以用来模拟各种有趣的事情。下面是一个代码段,这个程序将模拟发射一个火箭:


#include <iostream>

#include <unistd.h>

int main() {

  for (int i = 10; i >= 0; i--) {

    std::cout << i << std::endl;

    sleep(1);

  }

  std::cout << "Blast off!" << std::endl;

  return 0;

}

这个程序用了一个C++循环,从10开始倒数到0,然后打印出“Blast off!”火箭起飞的方式,可以让人们感到非常的兴奋。

最后,我们来看一个更有趣的例子,C++能够自动生成一个数独。以下是一个简单的代码段:


#include <iostream>

#include <array>

#include <cstdlib>

#include <ctime>

constexpr int BOARD_SIZE = 9;

using Board = std::array<std::array<int, BOARD_SIZE>, BOARD_SIZE>;

void print_board(const Board& board) {

  for (int i = 0; i < BOARD_SIZE; i++) {

    for (int j = 0; j < BOARD_SIZE; j++) {

      std::cout << board[i][j] << " ";

    }

    std::cout << std::endl;

  }

}

bool is_valid_move(const Board& board, int row, int col, int value) {

  for (int i = 0; i < BOARD_SIZE; i++) {

    if (board[row][i] == value || board[i][col] == value) {

      return false;

    }

  }

  int row_start = row - row % 3;

  int col_start = col - col % 3;

  for (int i = row_start; i < row_start + 3; i++) {

    for (int j = col_start; j < col_start + 3; j++) {

      if (board[i][j] == value) {

        return false;

      }

    }

  }

  return true;

}

bool solve_board(Board& board) {

  for (int row = 0; row < BOARD_SIZE; row++) {

    for (int col = 0; col < BOARD_SIZE; col++) {

      if (board[row][col] == 0) {

        for (int value = 1; value <= 9; value++) {

          if (is_valid_move(board, row, col, value)) {

            board[row][col] = value;

            if (solve_board(board)) {

              return true;

            } else {

              board[row][col] = 0;

            }

          }

        }

        return false;

      }

    }

  }

  return true;

}

void generate_board(Board& board) {

  srand(static_cast<unsigned int>(time(nullptr)));

  for (int i = 0; i < 20; i++) {

    int row = rand() % BOARD_SIZE;

    int col = rand() % BOARD_SIZE;

    int value = rand() % 9 + 1;

    if (is_valid_move(board, row, col, value)) {

      board[row][col] = value;

    }

  }

}

int main() {

  Board board = {};

  generate_board(board);

  print_board(board);

  std::cout << std::endl;

  solve_board(board);

  print_board(board);

  return 0;

}

这个程序自动生成一个数独游戏,并使用回溯算法来解决它。它展示了C++的强大之处,能够实现复杂的算法和游戏。

总之,在C++中有很多有趣的代码和技巧,这些代码和技巧展示了C++的强大和多样性。因此,通过学习这些代码和技巧,可以更好地掌握C++,并驾驭它的强大能力。

  
  

评论区

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