C++ 质数问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 22:50:52
帮忙看看这个为什麽不对··
输入一个数字然后program会判读是不是prime number

#include <iostream>
#include <math.h>

#define TRUE 1;
#define FALSE 0;

using namespace std;

void getNumber(int *number);
int isPrime(int);

int main()
{
int number;

getNumber(&number);

if (isPrime(number))
cout << "\n" << number << "is a prime number\n";
else
cout << "\n" << number << "is not a prime number\n";
return 0;
}

void getNumber(int *number)
{
cout << "Please enter a positive number ";
cin >> *number;
if (!cin.good())
{
printf("Invalid number entered\n");
exit(1);
}
}

int isPrime(int number)
{
int count;
double s;

你的代码的错误还真是隐蔽啊。。。
for (count=3; count<=s; count+=2);
{
if (number % count == 0) return FALSE;
}
你的for循环后面加了分号!!

同时的代码还有一个重要错误,对数字1没有判断,1既不是素数,也不是非素数!!
你应该是新手吧