我是初学者c ++编码器,仍在学习基础知识。
我正在编写一个程序来测试输入的数字是否是一个完美的数字,但每当我运行代码时,我都会收到一条错误消息,指出main.exe已停止工作。
我也审查过本网站上提出的类似问题,但我不明白。
有人可以非常简单地解释一下吗?
这是我的代码:
#include <iostream>
using namespace std;
int main()
{
int i, number, s = 0;
cin >> umber;
for (i = 0; i < number; i++)
if (number % i == 0)
s += i;
if (number == s)
cout << "the umber is perfect";
else
cout << "the number is not perfect";
return 0;
}
答案 0 :(得分:1)
好吧,除了输入第6行的未定义变量
cin>>umber;
你应该改为:
cin>>number;
你发生浮点异常,你正在从零开始的循环索引(i)上执行模运算:
for (i=0;i<number;i++)
if(number%i==0)
模运算类似于除法,就像你不能除以零一样,你不能做模零。