C++;由于未知原因,程序正在崩溃 我最近开始学习C++,并认为我会用项目Euler问题来测试我的勇气。我解决了前两个问题,但我在第三个问题上卡住了。它正在正确编译,没有任何错误,但一执行它就会崩溃。我试图删除嵌套的for循环以隔离问题,但它仍然崩溃 #include<iostream> #include<math.h> int main() { float quot; int num = 0; int array[100]; float next; for(int i = 0; i < 100; i++) { for (int j = 0; j < 100; j++) { if((i % j) == 0) { quot=j/i; num=num+1; } if (num=2) { array[i]=i; } } } for (int i = 0; i < 100; i++) { if((13195 % i) == 0) { std::cout << i; } } } #包括 #包括 int main() { 浮动报价; int num=0; 整数数组[100]; 然后浮动; 对于(int i=0;i

C++;由于未知原因,程序正在崩溃 我最近开始学习C++,并认为我会用项目Euler问题来测试我的勇气。我解决了前两个问题,但我在第三个问题上卡住了。它正在正确编译,没有任何错误,但一执行它就会崩溃。我试图删除嵌套的for循环以隔离问题,但它仍然崩溃 #include<iostream> #include<math.h> int main() { float quot; int num = 0; int array[100]; float next; for(int i = 0; i < 100; i++) { for (int j = 0; j < 100; j++) { if((i % j) == 0) { quot=j/i; num=num+1; } if (num=2) { array[i]=i; } } } for (int i = 0; i < 100; i++) { if((13195 % i) == 0) { std::cout << i; } } } #包括 #包括 int main() { 浮动报价; int num=0; 整数数组[100]; 然后浮动; 对于(int i=0;i,c++,C++,在中如果((i%j)=0)如果i和j为零,则下一行是除以i和j。这是除以0。在中如果((i%j)==0)如果i和j为零,则下一行是将i和j除以零。不完全确定此代码的点是什么……但您正在if(num=2)中指定num看起来你在某处除以0。是时候打开调试器了。这是Project Euler问题3。我确信有一种更简单的方法可以做到这一点,但我想我会尝试一下。基本上,我正在尝试找到13195的素因子。因此,首先我找到所有素因子(最多100个),然后找到可被13195整除的所有因子。不完全确定这段代码的意

中如果((i%j)=0)
如果
i
j
为零,则下一行是除以i和j。这是除以0。

中如果((i%j)==0)
如果
i
j
为零,则下一行是将i和j除以零。

不完全确定此代码的点是什么……但您正在
if(num=2)中指定num
看起来你在某处除以0。是时候打开调试器了。这是Project Euler问题3。我确信有一种更简单的方法可以做到这一点,但我想我会尝试一下。基本上,我正在尝试找到13195的素因子。因此,首先我找到所有素因子(最多100个),然后找到可被13195整除的所有因子。不完全确定这段代码的意义是什么…但您在
if(num=2)中指定了num
看起来你在某处除以0。是时候打开调试器了。这是Project Euler问题3。我确信有一种更简单的方法可以做到这一点,但我想我会尝试一下。基本上,我正在尝试找到13195的素因子。因此,首先我找到所有素因子(最多100个),然后找到所有可被13195整除的因子。我不确定我是否理解。难道%运算符不意味着要找到余数吗?因此理论上,如果I=1和j=1,那么它们的余数将为0。但是除法是完全合乎逻辑的,不是吗?除法是合乎逻辑的,但是如果I和j是零,它们是第一次通过循环,那么你就是di通过零进行viding。谢谢,这解决了它。我知道这将是一件容易的事情;)来自MSDN:“模,或余数,运算符将number1除以number2,只返回余数。”我不知道我是否理解。难道%运算符不是用来求余数的吗?所以理论上,如果I=1和j=1,那么它们的余数将是0。但是除法是完全合乎逻辑的,不是吗?除法是合乎逻辑的,但是如果I和j是零,它们是第一次通过循环,那么你就被零除掉了。谢谢,这就解决了。我知道了这将是一件容易的事情;)来自MSDN:“模,或余数,运算符将number1除以number2,只返回余数。”