[英]C++ beginner. user inputs single digit number, print the sum of 1 to that number
不太确定如何为这个问题加上标题
例如:cin >> 5,cout << 1 + 2 + 3 + 4 + 5
我在大学里上c ++课,我们才刚刚起步。 我知道我需要使用for或while循环,但是我不知道要去哪里才能打印它在寻找什么,这就是每个数字1到x的总和(x是用户输入的数字)
#include <iostream>
using namespace std;
int main()
{
int x, i ;
int sum = 0 ;
cout << "Please enter a single digit integer: " ;
cin >> x ;
for(i = 1 ; i <= x ; i++)
if(x <= 9)
sum = x + i ;
cout << sum << endl ;
}
我知道这可能还很遥远,但是我想给你们我到目前为止所拥有的。 请帮忙!
if
。 它不会影响您的代码。 (如果x > 9
则破坏它) sum = sum + i;
否则,您将覆盖其值。 sum += i;
更优雅sum += i;
看起来应该像这样:
int main()
{
int x;
int sum = 0;
cout << "Please enter a single digit integer: " ;
cin >> x ;
for(int i = 1 ; i <= x ; i++)
sum += i;
cout << sum << endl ;
}
正如其他人指出的那样,您可以使用表示以下内容的数学解决方案
int main()
{
int x;
int sum = 0;
cout << "Please enter a single digit integer: " ;
cin >> x ;
cout << x * (x + 1) / 2 << endl ;
}
使用方括号表示循环主体。 积累
sum += i; // sum = sum + i
而不是覆盖sum = x + i
。
for(i = 1 ; i <= x ; i++) {
sum = sum + i; // or sum += i
}
int main()
{
int x = 0, i = 0;
int sum = 0;
cout << "Please enter a single digit integer: " ;
cin >> x ;
for(i = 1 ; i <= x ; i++)
sum += i ;
cout << sum << endl ;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.