作业帮 > 综合 > 作业

C语言编程 输出m到n之间的素数 要求定义函数 请帮助我找出错误

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 13:27:32
C语言编程 输出m到n之间的素数 要求定义函数 请帮助我找出错误
题目描述
输入两个正整数m和n,输出m和n之间的所有素数.
要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现.
int prime(int n)
{
//判断n是否为素数, 若n为素数,本函数返回1,否则返回0
}
输入
输入两个正整数m和n,m
#include <stdio.h>
#include <math.h>
int prime (int n)
{
int t,i,J=1;/*把J的初始值改了,如果J=1是素数*/
t=(int)sqrt(n);
for(i=2;i<=t;i++)/*改成了i<=t,我觉得要是不改对平方数的判断会出错*/
{
if(n%i==0)
{
J=0;/*判别条件也改了*/
break;
}
}
return J;
}
int main()
{
int m,n,i,a,noAnswer=1;/*加了个一判断有没有答案的变量*/
int flag=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
a=prime(i);
if(a==1)
{
noAnswer=0;
if(flag==0)
printf("%d",i),flag=1;
else
printf(" %d",i);
}

}
if(noAnswer==1)/*如果没有答案在这里做选择*/
printf("No Answer\n");
else
putchar('\n');
return 0;
}
再问: 大神没有考虑1哦
再答: 是我没想到, 函数的返回值改一下 return J&&(n>=2);
再问: 哦 我知道什么意思了 很灵活、、、