好的我需要编写一个带整数参数的函数,并打印每个数字的总和直到那一点。例如,n = 10将是1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10.
int SumOneToN(int n)
{
int x = 0;
while (x <= n)
{
cout << x+(x+1) << " ";
x++;
}
cout << endl;
}
那么这里发生了什么? 1.将功能设置为SumOneToN。 2.将x初始化为0。 3.创建一个while循环,声明当x小于我们的参数时,我们取x,将它添加到x + 1(这样我们将当前的x值添加到下一个),打印它,然后我们添加到x循环再次进行,直到我们满足参数。
无论如何,这就是我认为应该如何运作的方式。实际返回的是:
1 3 5 7 ..等等
我不确定我哪里出错了?
答案 0 :(得分:3)
试试这个:
int SumOneToN(int n)
{
int x = 1, sum=0;
while (x <= n)
{
sum=sum+x;
cout << sum << " ";
x++;
}
cout << endl;
return sum;
}
答案 1 :(得分:1)
为什么不使用一些数学而不是首先使用循环?
即
int SumToOne(int n) {
return (n * (n + 1))/2;
}
答案 2 :(得分:0)
嘿,你在Sum&amp;中使用相同的变量作为循环变量
试试这段代码
int add(int n)
{
int sum=0;
for(int i=1;i<=10;i++)
sum=sum+i;
return sum;
}
答案 3 :(得分:0)
int SumOneToN(int n)
{
int sum=0;
for(int x=1;x<=n;x++)
{
sum+=x;
cout << sum << " ";
}
cout << endl;
return sum;
}
答案 4 :(得分:0)
在引号和cout x中写下“+”号;一次在while循环之前。如果你想用SUM做,那么你必须引入另一个变量,上面的解决方案是公平的。
#include <iostream>
using namespace std;
int SumOneToN(int n)
{
int x = 1;
cout << x ;
x++;
while (x <= n)
{
cout << " + " << x ;
x++;
}
cout << endl;
}
int main()
{
int x;
cin >>x;
SumOneToN(x);
return 0;
}
答案 5 :(得分:0)
你可以试试这个:
int SumOneToN(int n){
int sum=n,x=1;
while(x<n){
cout<<x<<"+";
sum+=x;
x++;
}
cout<<x;
return sum;
}
注意:这不会在最后一个号码后打印额外的“+”。