C++ 我试图计算1和输入数字之间的数字之和
该程序演示了循环运算符的操作。 自然数之和的计算。引入正整数n。计算从1到n(含)的自然数之和。 检查n的有效性。 这就是我被赋予的工作,但我仍然不知道如何完成它,这就是我被放弃的地方:C++ 我试图计算1和输入数字之间的数字之和,c++,numbers,c++17,C++,Numbers,C++17,该程序演示了循环运算符的操作。 自然数之和的计算。引入正整数n。计算从1到n(含)的自然数之和。 检查n的有效性。 这就是我被赋予的工作,但我仍然不知道如何完成它,这就是我被放弃的地方: #include <iostream> int main() { int n = 0; std::cout << "Enter n: "; std::cin >> n; int sum = 0; for (int i = 1; i &
#include <iostream>
int main()
{
int n = 0;
std::cout << "Enter n: ";
std::cin >> n;
int sum = 0;
for (int i = 1; i <= n; i += 2)
{
sum += i;
}
std::cout << sum << '\n';
return 0;
}
#包括
int main()
{
int n=0;
std::cout>n;
整数和=0;
对于(int i=1;ifor
循环的解剖结构如下:用于(1;2;3)
i=1
i+=2
将使i
在每次迭代时都像这样:1 3 5 7…n
。获取它?因为您将它递增2sum=1+2+3+…+n
。要实现这一点,您只需调整for
循环的第三部分。检查循环内部发生了什么而不是仅仅猜测它的一种方法是“探测”其中的变量,比如@molbdnilo提出的,通过添加像
std::couti+=2
——为什么要将循环索引增加2?我尝试了一些不同的东西,但是没有效果,所以我不知道在那里写什么从1到n的自然数
,这意味着这个数增加了1每一次,你都会得到所有的自然数(而不是像现在这样只得到一半)(int i=1;i‘我尝试了不同的东西,但它不起作用’可能你先尝试了显而易见的东西,当它不起作用时,你错误地认为显而易见的东西不正确,因此你尝试了明显不正确的东西(如i+=2
)一个程序出错的原因有很多,所以不要假设当它出错时你尝试了错误的东西,你可能尝试了正确的东西,但只是在某个地方犯了一些愚蠢的错误。