使用循环c++的数字和输出错误
Wrong output for sum of digits using loop c++
i需要制作一个程序,要求用户输入一个正整数值,而该程序使用循环来获得从1到n的所有数字的总和(用户输入)。假设用户输入5,程序会做1+2+3+4+5=15
这是迄今为止的代码
#include <iostream>
using namespace std;
int main()
{
int number; int sum = 0; // variables
cout <<"Please input an integer greater than zeron"
<<"Please refrain from using a negative integer." <<endl;
cin >> number; // user input
for (int i=1; i <= number; i++) // looping statement
{
sum = sum + i; // formula that takes user digits and finds sum
cout << sum;
}
我的问题是,当我编译程序时,例如,我输入3,程序的输出将是"136"
我想说1+2+3=6,或者类似于"整数的和是6",我只想显示值的总和。我是c++的新手,如有任何帮助,不胜感激。非常感谢。
您正在循环中写入cout << sum
。这意味着每次循环运行时都会得到一个数字输出(它实际上是在写1
、3
和6
,所有这些都被合并为136
)。将该语句移到以下}
之后。
以下是如何获得1+2+3=6输出:
#include <iostream>
using namespace std;
int main()
{
int number; int sum = 0; // variables
cout <<"Please input an integer greater than zeron"
<<"Please refrain from using a negative integer." <<endl;
cin >> number; // user input
for (int i=1; i <= number; i++) // looping statement
{
sum = sum + i; // formula that takes user digits and finds sum
if ( i == number )
cout << i;
else
cout << i << "+";
}
cout << "=" << sum;
}
相关文章:
- 输出错误,问题是找到总和5000位数字cpp
- 使用复制构造函数的程序输出错误
- 异或字符串加密/解密输出错误
- 在linux上使用g++输出错误,在windows上更正
- 使用递归函数 (c++) 将长字符串转换为整数时输出错误
- ECDSA 密钥对生成输出错误
- fscanf() 输出错误的值
- 输入 1024 后十进制到二进制转换的输出错误?
- 输出错误命令的条件语句
- cuSparse (cusparseDcsrgemm) 中的矩阵乘法输出错误的结果
- 为什么 du -sh 输出错误大小的内存映射文件
- VS2017 的输出错误,但 mingw 有效
- 如何使FFMPEG C 代码不输出错误消息
- 乘以时输出错误.这是我编译器中的错误吗?C
- 输出错误:两个不同编译器上的不同输出:Prime Cryptarithm USACO
- 为什么输出错误崩溃
- C++输入/输出错误
- 尝试用 c++ 制作一个简单的加法器.编译成功,但输出错误
- 当我使用此合并排序代码运行时,输出错误
- 递归功能输出错误的值