编写一个判断素数的函数,并输出所有素数

如题,编写一个判断素数的函数,并输出所有素数

#include<iostream>
using namespace std;
void prime(int a)
{
    if(a==1)
    cout<<"not prime";
    else if(a==2||a==3)
    cout<<"prime";
    else
    for(int i=2;i<=a/2;i++)
    {
        if(a%i==0)
        {
            cout<<"not prime";
            break;
        }
        else if(i==a/2)
        cout<<"prime";
    }
}
int main()
{
    int n;
    cin>>n;
    prime(n);
    return 0;
}

所有素数?总得有个范围吧,比如1-1000

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

int main()
{
  int n;
  printf("请输入整数:");
  scanf("%d",&n);
  for(int i=2;i<=n;i++)
    if(isprime(i))
      printf("%d ",i);
  return 0;
}