我需要创建一个程序,将用户号码传递给bool函数,如果该号码是素数,则返回bool
响应然后如果数字是素数则显示程序。
这就是我所拥有的,我完全陷入了困境。
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
//Declare return function
bool isPrime(int);
//Declare constant
const int PRIME=2;
int main()
{
//Declare local variable to store user number
int user_num;
//Declare local variable to store result
bool result;
//Declare variable to hold return
bool status;
//Request number from user
cout << "Please enter a number" << endl;
cin >> user_num;
//Call function isPrime
bool isPrime(int user_num);
if (status==true)
cout << user_num << "is prime" << endl;
else
cout << user_num << "is not prime" << endl;
system ("PAUSE");
return 0;
} //end main
//Define bool function
bool isPrime(int number)
{
bool status;
double num_1=sqrt(number);
for (int i=2;i<=num_1;++i)
if(!(number%i))
status=false;
else
status=true;
return status;
}//End bool function
答案 0 :(得分:1)
更改
bool isPrime(int user_num);
阅读
status = isPrime(user_num);
你在那里做的是声明功能而不是调用它。
您需要将功能移到主功能上方,或实际添加
bool isPrime(int user_num);
在主函数上方或在调用函数之前。
答案 1 :(得分:0)
您还需要考虑isPrime中的循环。如果找到除数,则立即返回false。此时,您将多次覆盖结果变量并仅返回最终测试。