需要修复一个简单的循环
Need to fix a simple loop
好的,我需要编写一个函数,该函数采用整数参数并打印每个数字的总和。例如,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. 将函数设置为总和一到。2. 将 x 初始化为 0。3. 创建一个 while 循环,当 x 小于我们的参数时,我们取 x,将其添加到 x+1(以便我们将当前的 x 值添加到下一个),打印它,然后我们添加到 x 以使循环再次进行,直到我们满足参数。
无论如何,这就是我认为它应该工作的方式。实际返回的是:
1 3 5 7.. 等
我不确定我哪里出错了?
试试这个:
int SumOneToN(int n)
{
int x = 1, sum=0;
while (x <= n)
{
sum=sum+x;
cout << sum << " ";
x++;
}
cout << endl;
return sum;
}
为什么不使用一些数学,而不是首先有循环?
即
int SumToOne(int n) {
return (n * (n + 1))/2;
}
int SumOneToN(int n)
{
int sum=0;
for(int x=1;x<=n;x++)
{
sum+=x;
cout << sum << " ";
}
cout << endl;
return sum;
}
在
倒逗号和 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;
}
你可以试试这个:
int SumOneToN(int n){
int sum=n,x=1;
while(x<n){
cout<<x<<"+";
sum+=x;
x++;
}
cout<<x;
return sum;
}
注意:这不会在最后一个数字后打印额外的"+"。
嘿,
你对 Sum 使用相同的变量 &作为循环变量
试试这个代码
int add(int n)
{
int sum=0;
for(int i=1;i<=10;i++)
sum=sum+i;
return sum;
}
相关文章:
- 在c++中用vector填充一个简单的动态数组
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 为什么一个简单的程序不能立即启动
- C++ - 在我尝试制作一个简单的计算器时有一个"uninitialized local variable y used"警告
- 为什么 MSVC C++编译器将一个简单的 Hello World 扩展为 4000 行汇编?
- 我写了一个简单的矢量程序,在其中我得到了以下输出。你能帮我理解它的输出吗?
- 如何使用 c++ 在命令行中创建一个简单的字符控制器?
- 对于 ~95% 写入/5% 读取线程安全的无序列图,有没有一个简单的解决方案?
- 在C++中创建一个简单的数据包路由器,如何跟踪"客户端"?
- 创建一个简单的前向迭代器,该迭代器在循环缓冲区的"end"处自动换行
- 我已经安装了用于c++编程的升华3,但在编写了一个简单的程序后,我遇到了以下错误
- 如何设置一个简单的CGAL+Qt程序
- 如何在一个简单的C++项目中使用Poco库
- 我创建了一个简单的程序,但有些地方不对劲
- Qt的新信号/时隙语法问题 - 连接到一个简单的函数
- 一个简单的 win32 多线程代码.这能行吗?
- 我正在尝试构建一个简单的程序来从 mysql 数据库中读取信息
- 创建一个简单的计算器,添加时遇到问题
- 我正在编写一个简单的客户端套接字应用程序,但在连接后服务器收到一个空缓冲区
- 为什么一个简单的"Hello World"风格的程序不能用Turbo C++编译?