21xrx.com
2024-11-22 03:31:00 Friday
登录
文章检索 我的文章 写文章
神奇有趣的C++代码
2023-07-13 16:02:34 深夜i     --     --
C++程序设计 编程技巧 魔法算法 指针玩具 奇妙实用

C++作为一种高级编程语言,可以轻松地用来编写各种各样的应用程序。然而,在C++的代码中,有许多神奇有趣的代码,它们既能展现C++的魅力,又能令人叹为观止。

首先是在C++中使用逆波兰表达式。逆波兰表达式是以波兰数学家雅拉斯合维奇·波兰斯基命名的,它在数学和计算器领域被广泛使用。逆波兰表达式的特点是能够省略括号,从而减少表达式的复杂度。下面是一个用逆波兰表达式计算简单加法的例子:


#include <iostream>

#include <stack>

#include <string>

using namespace std;

int poland(string s) {

  stack<int> num;

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

    if (isdigit(s[i])) num.push(s[i] - '0');

    else if (s[i] == '+') {

      int a = num.top(); num.pop();

      int b = num.top(); num.pop();

      num.push(a + b);

    }

  }

  return num.top();

}

int main() {

  string s = "23+5+";

  cout << poland(s) << endl;

  return 0;

}

接下来是用C++实现高斯求和公式,求解1到100的自然数之和。高斯求和公式是当年数学天才卡尔·弗里德里希·高斯(Carl Friedrich Gauss)计算1到100的自然数之和时首次提出的。在C++中,我们可以用如下代码实现:


#include<iostream>

using namespace std;

int main(){

  int sum=0;

  for(int i=1;i<=100;i++){

    sum=sum+i;

  }

  cout<<"1+2+3+...+100="<<sum<<endl;

  return 0;

}

最后,让我们看看C++中用指针实现斐波那契数列的代码。斐波那契数列指的是1、1、2、3、5、8、13、21……这样一个数列,也就是说,第一项和第二项都是1,从第三项开始,每一项都是前两项的和。在C++中,我们可以用指针很简洁地实现这个数列:


#include <iostream>

using namespace std;

int main(){

  int num=10;

  int *a=new int[num];

  *a=1;*(a+1)=1;

  for(int i=2;i<num;i++){

    *(a+i)=*(a+i-1)+*(a+i-2);

  }

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

    cout << *(a+i) << " ";

  }

  cout << endl;

  delete []a;

  return 0;

}

总之,C++中有许多神奇有趣的代码,可以让人在学习和实践中体验到它的魅力和乐趣。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章