C语言编写程序,找出100以内的所有素数,存放在一位数组中,并将所找到的素数按每行10个数的形式输出。

#include <math.h>
main()
{
int m,i,h=0;
for(m=1;m<=100;m++)
{
for(i=2;i<=(m/2);i++)
{if(m%i==0)
break;
else printf("%-4d",m);h++;
if(h%10==0)
{printf("\n");}
break;
}

}
printf("\nThe total is %d",h);

}
这样编写为什么会出现一些不是素数的数字?

#include<stdio.h>
int isprime(int n)
{
int i;
for(i=2;i<=n/2;i++){
if(n%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int i;
int count=0;
for(i=2;i<=100;i++)
{
if(isprime(i)){
count++;
printf("%d ",i);
if(count==10){
printf("\n");
count=0;
}
}
}
return 0;
}改了一下,把判断素数的给分离出一个函数了,
你两个循环可能有点问题。追问

能具体说说到底那里出问题么 纠结了好久了 网上也看过了众多答案

温馨提示:答案为网友推荐,仅供参考
相似回答