C++编程 编写函数判断变量是否为素数

2024-11-23 09:25:12
推荐回答(3个)
回答1:

# include

using namespace std;

int isprime(int a){

if(a==1)

return 2;

for(int i=2;i<=a/2;i++){

if(a%i==0)

return 0;

}

if(i>=(a/2)||i==2)

return 1;

return 0;

}

int main (){

int x;

cout<<"请输入一组数字,按'0'结束:"<

while(1){

cin>>x;

if(x==0)

break;

if(isprime(x)==1)

cout<

}

return 0;

}

回答2:

#include 
#include 
using namespace std;

bool isprime(int a)
{
int i;
for (i=2;i<=sqrt(a);i++)
if (a%i==0)
return 0;
return 1;
}

int main()
{
int n,i;
while (1)
{
cin>>n;
if (n==0)
break;
if (isprime(n))
cout< }

return 0;
}

回答3:

C++程序:

#include 
#include 

using namespace std;

#define MAX 100

int isprime(int a)
{
int k = (int)sqrt(a);
int i;

for(i=2; i<=k; i++)
if(a % i == 0)
return 0;

return 1;
}

int main()
{
int arr[MAX];
int i, j, n = 0, c = 0;
int temp;

printf("请输入一系列整数,以0结束:");
while(1)
{
scanf("%d", &temp);
if(temp == 0)
break;
arr[n++] = temp;
}

for(i=0; i {
if(isprime(arr[i]))
c++;
else
arr[i] = 0;
}

if(c < 1) {
return 0;
}
for(i=0; i
printf("%d", arr[i]);

for(j=i+1; j {
if(arr[j] != 0)
printf(" %d", arr[j]);
}

return 0;
}


运行测试: