输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,我写的运行错误,帮我改下

2024-12-03 22:00:10
推荐回答(2个)
回答1:

不好意思,这几天比较忙,现在才看到你的求助。
这个程序我建议你不要去用函数求,那样太麻烦了。楼上的这位写的一看就知道没有编译过,算法都错了。
这是我写的,已经编译通过,简明易懂,希望对你有帮助。
#include
#include
int main(void)
{
int i,j,k=0,m,n;
printf("please input two numbers:");
scanf("%d,%d",&m,&n);
while(m>n || m<=1) //这里是判断语句 如果输入的m小于n或m小于2的话 就结束
{
return 0;
}
for(i=m;i<=n;i++) // 下面是求素数的算法
{
for(j=2;j<=i/2;j++)
if(i%j==0)
break;
if(j>i/2)
{
printf("%d ",i);
}
}
system("PAUSE");
return 0;
}

望采纳,谢谢!!祝你学业有成

回答2:

改动很大.....
#include
int is_prime(int m,int n) //
{
int i,j,x=0; //
for(j=m;j<=n;j++)
{
if(j==1) //
j++;
for(i=2;j%i;i++); //
if(j==i) //
{
x=x+j;
}

}
return x;
}
int main()
{
int sum,m,n;
scanf("%d%d",&m,&n); //
sum=is_prime(m,n);
printf("%d\n",sum);
}