查找最大除数的程序返回0
Program to find greatest divisors returns 0
我最近才想尝试学习如何编码。我在网上找到了一些基本的练习,但是我坐了大约40分钟,还是想不出来。所以,即使这对你们大多数人来说似乎是基本的,我还是要寻求一些帮助:)
任务是这样的:
指定的整数范围为[m, n]。写一个程序求除数最大的数
输入/输出:
Initial data | Result
10 40 | 36
代码:#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
int m, n, s, sd = 0, ats;
double a = 0;
ifstream fd("Duomenys.txt");
fd >> m >> n;
for(int i = m; i<=n; i++){
s = 0;
for(int j = 1; j<=i; ++j){
a = 0;
a = i % j;
if(a = 0) s= s + 1;
}
if(s > sd) {
i = ats;
s = sd;
}
}
cout << ats;
system("PAUSE");
return EXIT_SUCCESS;
}
现在我只使用cout << ats
来测试它,但是如果我运行它,它会得到一个0作为答案。
如果要测试a是否等于0,则必须使用等于运算符,即==
。
对于if (a = 0)
,您实际上将0赋值给a,然后测试此操作的结果,该结果始终为0。这就是为什么if的指令,这里的s = s + 1;
将永远不会被执行。
代码中的其他问题:
- 您使用变量
ats
,但从未初始化它,所以它的值是不确定的 - 我不明白为什么
a
是double
而不是int
我建议你打开所有的编译器警告,并从一本关于c++的好书或教程开始
相关文章:
- 为什么这个程序返回最后一个单词而不是最长的单词?
- 当if语句告诉程序返回0时,我的程序不会退出
- 未知的错误导致程序返回怪异的符号
- 程序返回-1073741571而不是永远进行的值
- DLL – 在 DLL 初始化时填充的静态向量,向客户端程序返回零大小
- C - 程序返回值而无需返回语句
- C++线程中调用 std::terminate 时程序返回代码
- 为什么我的程序返回5
- 我如何在不关闭的情况下使这个简单的程序返回
- 用于获取以元音和辅音开头的单词数量的程序返回错误的答案
- 输入将为浮动价值,程序返回整个部分和小数值
- 为什么当我尝试计算平均绝对偏差时,我的程序返回 inf
- 对简单的帐户检查程序有问题?程序返回编译错误,指出"no match for 'operator||' unsure of how to fix?"
- 布尔程序返回错误,即使应该是正确的.简单程序
- 使用自定义删除程序返回unique_ptr的 nullptr 失败
- 如何将命令从c++应用程序返回到父终端
- C 程序返回默认值0
- glGetUniformLocation为所有程序返回相同的值
- 我的程序返回整数值,但即使在显式类型转换之后也应该给出双值
- 这是从信号处理程序返回值的可靠方法吗