int SeriesToOne(int n) {
if (n == 1) {
cout << "(" << 1 << "*" << 1 << ") = ";
return 1;
}
cout << "(" << n << "*" << n << ") + ";
return (n * n) + SeriesToOne(n - 1); }
嘿,所以我正在编写一个程序,该程序应该使用递归来计算序列中的平方和。我正在编写两个函数,一个函数计算从1到N的值,另一个函数计算从N到1的值,然后输出该过程。上面的代码是我为N编写的函数,但是从1到N遇到了很多麻烦。我不知道如何正确地写出基本情况,而又不用向函数添加第二个参数(赋值指定一个参数)。如果有人可以帮助我,那就太好了!很抱歉,如果我没有设置此帖子的格式或将其放在错误的位置,则是第一次张贴。
好吧,由于基本条件,您需要知道递归函数内的n值,您可以将变量声明为全局变量,也可以在每次调用时将其传递给函数,如下所示:
int SeriesToN(int n, int N) {
if (n == N) {
cout << "(" << n << "*" << n << ") = ";
return n * n;
}
cout << "(" << n << "*" << n << ") + ";
return (n * n) + SeriesToN(n + 1, N);
}
然后如果n = 4,则调用以下函数:
SeriesToN(1, 4);
这应该可以解决您的问题。编码愉快!