递归思想,主要问题就是要明白怎么把一个数的各个部位加起来然后递归。
上代码:

#include<bits/stdc++.h>
using namespace std;

int yunsuan(int n)
{
    int sum = 0;

    if (n <10)
    {
        return n;
    }

    else 
    {
        while (n > 0)
        {
            sum += n % 10;
            n =n/ 10;
        }

        return yunsuan(sum);
    }
}

int main()
{
    int n;
    cin >> n;

    cout << yunsuan(n);

    return 0;
}