【发布时间】:2021-02-23 20:33:56
【问题描述】:
这是我的程序,它旨在显示输入整数是否为完美数。需要使用布尔函数并在主函数中调用它。但是,运行试用后,没有输出。任何人都可以帮助这个编程新手...提前感谢您的帮助。
#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 ;
}
【问题讨论】:
-
你应该使用你的调试器来单步调试你的代码,看看它与你期望的不同。
-
调试器是解决此类问题的正确工具。 在询问 Stack Overflow 之前,您应该逐行浏览您的代码。如需更多帮助,请阅读How to debug small programs (by Eric Lippert)。至少,您应该 [编辑] 您的问题,以包含一个重现您的问题的 Minimal, Complete, and Verifiable 示例,以及您在调试器中所做的观察。
标签: c++ function boolean function-call perfect-numbers