我的任务是从用户那里获取无尽的输入(ctrl-d 终止),如果输入的数字是质数,则返回响应。对此的扭曲是,我必须制作一个涵盖数字输入的素数列表(如果输入数字为 6,则列表必须包含 2,3,5 和 7),线性搜索列表,如果输入的数字在所述列表中,则返回 true。它也必须在一个类中。
这是我的 Isprime 函数。
bool isprime::Isprime(int N){
int i,primenum,max=1;
int prime[max];
prime[0]=2;
for(primenum=3;prime[max-1]<N;primenum++){
for(i=2;i<primenum;i++){
if(primenum%i!=0){
max++;
prime[max-1]=primenum;
}
}
for(int j=0;j<max;j++){
if(N==prime[j])
return true;
}
return false;
}
当我运行程序时,返回所需输出的唯一数字是 2(我最初放入列表中的那个。我在这里做错了什么?感谢您提前输入。
编辑1:当用户输入数字时,如果Isprime函数返回true,则输出一个简单的cout << N << "is a prime number"。这就是我所说的理想输出。
编辑2:由于一些粗心的错误编辑我的函数后,所有输入整数都返回true。