Logic 素数的逻辑错误

Logic 素数的逻辑错误,logic,primes,Logic,Primes,我曾试图将一个查找数字是否为素数的程序重写为一个函数。 目前我只是出于测试目的输出1或2 问题是,无论输入什么数字,p=1 感谢任何有洞察力的人 # include <stdio.h> int is_prime(int num); int main() { int num, pr=0; printf("Enter a positive number: "); scanf("%d", &num); pri

我曾试图将一个查找数字是否为素数的程序重写为一个函数。 目前我只是出于测试目的输出1或2

问题是,无论输入什么数字,p=1

感谢任何有洞察力的人

# include <stdio.h>

int is_prime(int num);

int main()
{
        int num, pr=0;


        printf("Enter a positive number: ");
        scanf("%d", &num);

        printf("prime is %d ",is_prime(pr));
        return 0;
}

int is_prime(int n )
{
        int p, i, count=0;


        for (i=2; i<=n/2; i++)
        {
                if(n%i==0)
                {
                        count++;
                        break;
                }
        }
        if (count==0 && n!=1)
                p=1;
        else
                p=2;
        return p;
}
#包括
int是_素数(int num);
int main()
{
int num,pr=0;
printf(“输入正数:”);
scanf(“%d”和&num);
printf(“质数是%d”,是_质数(pr));
返回0;
}
int是素数(int n)
{
int p,i,count=0;
对于(i=2;i
  • 您的函数名称错误(
    是\u prime
    而不是
    是\u prime
  • 您总是将0传递给函数(
    pr
    ),而不是输入值
    num
  • 您的函数名称错误(
    是\u prime
    而不是
    是\u prime
  • 您总是将0传递给函数(
    pr
    ),而不是输入值
    num
  • 您的函数名称错误(
    是\u prime
    而不是
    是\u prime
  • 您总是将0传递给函数(
    pr
    ),而不是输入值
    num
  • 您的函数名称错误(
    是\u prime
    而不是
    是\u prime
  • 您总是将0传递给函数(
    pr
    ),而不是输入值
    num

  • 谢谢。第一部分是因为我在删除该错误之前复制了旧版本的代码。谢谢。第一部分是因为我在删除该错误之前复制了旧版本的代码。谢谢。第一部分是因为我在删除该错误之前复制了旧版本的代码。谢谢。第一部分是因为我复制了一个o删除该打字错误之前,请先删除代码的版本。