括号匹配操作:
#include<iostream>
#include<stack>
using namespace std;
bool Check(string str){
stack<char> s;
for(int i = 0 ; i < str.length() ; i ++){
switch(str[i]){
case '(':
case '[':{ s.push(str[i]); break; }
case ')':{
if(s.top() == '('){ s.pop(); break;}
else return false;
}
case ']':{
if(s.top() == '['){ s.pop(); break;}
else return false;
}
}
}
if(s.empty() == true){
printf("It is true!");
return true;
}
else{
printf("It is false!");
return false;
}
}
int main(){
string s = "(())";
int a = Check(s);
return 0;
}
阶乘运算:
#include<iostream>
using namespace std;
int F(int a){
if(a == 0) return 1;
else return a * F(a - 1);
}
int main(){
int a = 4;
printf("%d" , F(a));
return 0;
}
斐波那契数列:
#include<iostream>
using namespace std;
int Fib(int a){
if(a == 0) return 0;
else if(a == 1) return 1;
else return Fib(a - 1) * Fib(a - 2);
}
int main(){
int a = 4;
printf("%d" , Fib(a));
return 0;
}