我刚刚想到我会尝试学习如何编码。我是基础知识,并在网上找到了一些练习,但我已经坐了大约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作为答案。
答案 0 :(得分:3)
如果要测试a是否等于0,则必须使用等于运算符,即==
。
使用if (a = 0)
,您实际上将0分配给a,然后测试此操作的结果,该操作的结果始终为0.这就是为什么if的说明,这里{{永远不会被执行。
代码中的其他问题:
s = s + 1;
但从未对其进行初始化,因此其值未确定ats
是a
而不是double
我建议您打开所有编译器警告并从a good book or tutorial about C++
开始