#include <stdio.h>
int main()
{
int t,j,count=0;
for (t= 100; t<= 400; t++)
{
for (j = 2; j < t; j++)
{
if (t % j == 0)
{
break;
}
else
{
count++;
printf(" %d", t);
if (count % 5 == 0)
{
printf("\n");
}
break;
}
}
}
}
算了好久了都算不出来,请问哪里出了问题
修改如下,供参考:
#include <stdio.h>
int main()
{
int t,j,count=0;
for (t= 100; t<= 400; t++)
{
for (j = 2; j < t; j++)
{
if (t % j == 0)
{
break;
}
} //修改
//else
if (j >= t) //修改
{
count++;
printf(" %d", t);
if (count % 5 == 0)
{
printf("\n");
}
//break; 修改
}
//} 修改
}
return 0; //修改
}
我也是初学,学的判断素数都是用一个标志数来做。
#include <stdio.h>
int main()
{
int i,j,k,n,count=0;
int flag=1;
for(n=100;n<=400;n++)
{
flag=1;
for(i=2;i<n/2;i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
if(flag==1)
count++;
}
printf("%d",count);
return 0;
}
你代数试一下
当t=105进入循环
j=2
判断t不能整除j
else输出t
你这里用else不可以阿 进入循环之后只会判断t能不能整除2 能就break 不能就输出 可以说这个程序写成了输出奇数了
代码的话另外一位回答的是对的 你可以看他的