c 语言判断数是否是素数

编程实现:
从键盘输入一个正整数,判断该数是不是素数。若是,请输出“此数是素数!”,若不是,请输出“此数不是素数!”。若输入的数据不是正整数,请输出“您输入的数据不符合要求,请重新输入!”

void main()
{
  int n;
  printf("请输入一个正整数:");
  while(1)
  {
    scanf("%d",&n);
    if(n<= 0)
    {
      printf("您输入的数据不符合要求,请重新输入!\n");
      continue;
    }
    break;
  }
  for(int i=2;i*i<=n;i++)
  {
    if(n%i==0)
    {
      prinf("此数不是素数!");
      return;
    }
  }
  printf("此数是素数!");
}
#include <stdio.h>

int main()
{
    int a=0;  // 素数的个数
    int num=0;  // 输入的整数

    printf("输入一个整数:");
    scanf("%d",&num);
    if (num>0)
    {
        for(int i=2;i<num;i++){
        if(num%i==0){
            a++;  // 素数个数加1
        }
    }

        if(a==0)
        {
            printf("%d是素数。\n", num);
        }
        else
        {
            printf("%d不是素数。\n", num);
        }
    }


    else
        printf("您输入的数据不符合要求,请重新输入!");


    return 0;
}

    //用户输入一个数,判断是否为素数,素数:只能被1和它本身整除的数(whilefor实现) break;
    int main() 
    {

        int a,i;
        int flag = 1;
        printf("请输入一个数:");
                scanf("%d",&a);
        //判断是否为素数
        for(i=2;i<a;i++){ //排除1和a本身
            if(a % i == 0){ //能整除
                flag = 0;
                //终止循环
                break;
            }
        }
        if(flag){
            printf("%d是素数",a);
        }else{
            printf("%d不是素数",a);
        }
      }
#include <stdio.h>
int isprime( int n);
int main()
{
    int n;
    printf("输入一个整数:");
    scanf("%d", &n);
    if( isprime(n)){
        printf("此数是素数!");
    } else {
        printf("此数不是素数!");
    }
    return 0;
}
int isprime(int n)
{
    int i;
    if(n<=3) return n>1;
    for(i=2;i*i<=n;i++)
        if(n%i==0) return 0;
    return 1;
}