用递归的思想很好解决,
一个求和函数就能搞定(代码如下):

#include <iostream>

using namespace std;

int sum(int n)
{
    int total = 0; 
    if(n > 0)
        {    
            for(int i = 1; i <= n; i++)
            {
                total += i;
            }
             return total + sum(n-1); 
        }
    else
        return -1;    
}

int main()
{    
    int n;
    cin >> n;
    cout << 1 + sum(n)<<endl;//最前面有个 1 不要忘记加
    return 0;
}