想写一个程序求10000~10100的质数,搞了一下午,没有报错,但是打出来的一直有问题,请各位帮我看一下,代码如下
#include<stdio.h>
int main()
{
int i,n;
int m=10000;
for(;m<=10100;m++)
{
for(i=2,n=1;i<=m/2;i++)
{
if(m%i==0)
{
n=0;
}
}
if(n=1)
{
printf("%d\n",m);
}
}
return 0;
}
if(n=1)少写了一个“=”
#include<stdio.h>
int main()
{
for(int m = 10000; m <= 10100; m++){
int isTag = 1;
for(int i = m-1; i > 1; i--){
if(m % i == 0){
isTag = 0;
}
}
if(isTag == 1){
printf("%d\n",m);
}
}
return 0;
}
题主你好,问题已解决,看是否符合要求,如果可以的话,麻烦点个采纳,谢谢哦!
#include <stdio.h>
int main()
{
int i, n;
int m = 10000;
for (; m <= 10100; m++)
{
for (i = 2; i <= m / 2; i++)
{
if (m % i == 0)
{
break;
}
}
if (i > m / 2)
{
printf("%d\n", m);
}
}
return 0;
}
提问把你代码格式调整下
#include<stdio.h>
int main()
{
int i,n;
int m=10000;
for(;m<=10100;m++)
{
for(i=2,n=1;i<=m/2;i++)
{
if(m%i==0)
{
n=0;
}
}
if(n==1)
{
printf("%d\n",m);
}
}
return 0;
}
建议善用continue语句
第二个if的条件“n = 1”等号改为双等号