永发信息网

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

答案:2  悬赏:80  手机版
解决时间 2021-03-22 14:10
  • 提问者网友:雪舞兮
  • 2021-03-21 19:35
输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,我写的运行错误,帮我改下
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-03-21 20:21
不好意思,这几天比较忙,现在才看到你的求助。
这个程序我建议你不要去用函数求,那样太麻烦了。楼上的这位写的一看就知道没有编译过,算法都错了。
这是我写的,已经编译通过,简明易懂,希望对你有帮助。
#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;
}

望采纳,谢谢!!祝你学业有成
全部回答
  • 1楼网友:酒安江南
  • 2021-03-21 21:49
改动很大.....
#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);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯