c++ - 输出值是一个不正确且不随输入变化而变化的大整数
问题描述
我正在编写一个代码,用户将输入三个数字,输出将是数字和第一个数字之间的数字之和,它们的数字之和在第二个和第三个数字之间,当我尝试测试代码时,输出是不同输入时不变且不正确。
#include <iostream>
using namespace std;
int main()
{
int m,nm,n,a,b,sum,subsum=0;
cout << "Enter the three numbers:" << endl;
cin >> n >> a >> b;
if(a<=b){
for (int i=1;i<=n;i++){
nm=i;
subsum=0;
while(nm!=0){
m=nm%10;
nm=nm/10;
subsum=subsum+m;
}
if(subsum>=a && subsum<=b){
sum=sum+subsum;
}
}
cout << sum << endl;
}
return 0;
}
解决方案
您没有初始化变量sum
,在某些 linux 系统上,变量将被初始化为任意值。请添加此行
sum = 0;
在if
声明之前。
推荐阅读
- java - 使用按钮更改jsp中的变量值
- excel - 从 DataGridView 获取数据(数据取自 excel)并在 vb.net 图表上显示
- javascript - 如何使用 img.src 构造渲染函数
- javascript - 如何根据随机播放的视频在 html 中显示文本?
- javascript - 如何正确地将两个部分放在另一个之下?
- python - 试图将浮点数转换为小数
- java - 如何在 Java 的方法中使用构造函数参数?
- entity-framework - EF Code First 将外键插入/更新限制为给定的 ReferenceType
- swift - 致命错误:刷新集合视图时索引超出范围
- asp.net - 当我传递 DTO 然后在 Web API 2 中转换为模型时如何更新数据库