-4
这里是我的程序,它旨在显示输入整数是否是完美数字。需要使用布尔函数并在主函数中调用它。但是,运行试用后,没有输出。任何人都可以帮助这个编程新手...提前感谢任何帮助。在C++中调用布尔函数
#include <iostream>
using namespace std;
bool perfect (int num)
{
int sum = 0, i = 1;
while(i < num) {
if (num % i == 0) {
sum = sum + i;
i++;
}
}
if (num == sum)
return 1 ;
else
return 0 ;
}
int main()
{
int num ;
cin >> num ;
if (perfect (num) == 1)
cout << " YES " << endl ;
else
cout << " NO " << endl ;
}
你应该用你的调试器来逐步执行代码,看看它从你的期望有所不同。 – chris
解决此类问题的正确工具是您的调试器。在*堆栈溢出问题之前,您应该逐行执行您的代码。如需更多帮助,请阅读[如何调试小程序(由Eric Lippert撰写)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,您应该\编辑您的问题,以包含一个[最小,完整和可验证](http://stackoverflow.com/help/mcve)示例,该示例再现了您的问题,以及您在调试器。 –