我用C语言编了一个求两个数之间的素数的个数的程序,并求所有素数之和,大家帮我看看有什么问题

2025-05-15 12:41:44
推荐回答(1个)
回答1:

我重新给你编了一下,运行正确,希望你给个最佳恢复,谢谢
/*
用C语言编了一个求两个数之间的素数的个数的程序,并求所有素数之和
*/

#include
#include

int prime (int n);
int main(void)
{
int m,n,i,sum=0,count=0,flag;

while(1)
{

printf("Input m : \n");
scanf("%d",&m);
printf("Input n : \n");
scanf("%d",&n);
if(m<=0||n<=0)
{printf("Error!Please again.");continue;}
else break;
}

if(m-n>0)flag=1; //判断输入数的大小
else flag=0;

switch(flag)
{
case 1: for(i=n+1;i {
if(prime(i))
{
count++;
sum+=i;
}
if(prime(i)==0) continue;
}
printf("count=%d,sum=%d \n",count,sum);
break;
case 0: for(i=m+1;i {
if(prime(i))
{
count++;
sum+=i;
}
else continue;
}
printf("count=%d,sum=%d \n",count,sum);
break;
}

system("pause");
return 0;
}
int prime (int n)
{
int i,p=0,q=0;

for(i=2;i<=n/2;i++)
{
if(n%i==0) p=1;
else q=1;
}
if(q==1&&p==0) return 1;
else return 0;
}