gpt4 book ai didi

c - 判断给定数是否为素数的函数

转载 作者:太空宇宙 更新时间:2023-11-04 08:14:58 24 4
gpt4 key购买 nike

我是初学者,正在学习函数。以下是我编写的用于查找给定数字是否为素数的代码。但是当我执行它时,我会看到对话框说“project.exe 已停止工作”。我正在使用 dev c++ 。我的代码有什么问题吗?

#include<stdio.h>
int prime (int i);
int main()
{
int a,b;
scanf("%d",&a);
b=prime(a);
if (b==1)
printf("prime");
else
printf("not prime");
return 0;
}
int prime (int i)
{
int j=0;
for (j=0;j<=i;j++)
{
if (i%j==0)
break;
}
if (j==i)
return 1;
else
return 0;
}

最佳答案

更改您的 prime 函数的代码块:

    int j=0;
for (j=0;j<=i;j++)
{
if (i%j==0)
break;
}

到:

    int j;
for (j=2;j<=i;j++)
{
if (i%j==0)
break;
}

当您尝试查找 mod 时,它实际上会尝试通过除法运算找到它。您不能将数字除以零,因为 j 最初为零,您的程序会崩溃。

关于c - 判断给定数是否为素数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36324746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com