前言

我记得c++考试也是考了90多分的人,现在重新复习,感觉有点手生了。

基础

主要是函数与参数,动态内存空间分配的知识,STL会在后面的数据结构中进一步复习。

重点

关于递归,在学习时花了好长时间去理解,但自己用的不多,重新复习一下吧。

#include <iostream>

using namespace std;

int factorial(int n) //递归求阶乘
{
    if (n<=1)
        return 1;
    else
        return n*factorial(n-1);
}
int sum(int a[],int n)//递归求和
{
    if(n > 0)
        return a[n-1]+sum(a,n-1);
    return 0;
}
int greatestCommonDivisor(int x,int y)//欧几里得算法求最大公约数
{
    if(y == 0)
        return x;
    return greatestCommonDivisor(y,x%y);
}
int main()
{
    int a[] = {1,2,3};
    cout<<factorial(3)<<endl;
    cout<<sum(a,3)<<endl;
    cout<<greatestCommonDivisor(15,30)<<endl;
    return 0;
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐