C语言求100以内素数的问题

#include<stdio.h>
void main()
{ int t,i;

for(i=2;i<=100;i++)
t=1;
for(t=2;t<i;t++)
if(i%t==0)
t=0;
if(t==0)printf("%d",i);

}
各位高手能不能看我这个程序哪里错了?
按一楼和2楼的改不对啊

第1个回答  2008-02-02
#include <math.h>
#include <stdio.h>
main()
{
int m,k,i,n=0;
for(m=1;m<100;m+=2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>=k+1)
{ printf("%d ",m);
n++;
}
}
}
第2个回答  2020-03-24

C语言经典例子之求100之内的素数

第3个回答  2019-12-21
这个程序是死循环,还是打印出来的?都是偶数,为什么i%t能除断,就要把t=0,如果能除断,只能说明i不是素数
第4个回答  2018-05-25

让程序输出100以内的素数的编码如下:采用for的双循环。

    #include<stdio.h>

    int main(){

    int x;

    for(x=2;x<100,x++){

    int i;

    int isprime=1;//x是素数

    for(i=2;i<x;i++){

    if (x%i==0){

    isprime=0;break;

    }

    }

    if (isprime==1){

    printf("%d",x);

    }

    }

    printf("\n");

    return 0;

    }

第5个回答  2018-05-02
#include<stdio.h>
void main()
{ //素数的定义只有1和本身可除尽的数
int i,t; //所以只需判断除1到本身之前的数是否可除尽即可
if(i=2) //为了简化后面的程序,2直接判断
printf("%d\n",i);
for(i=3;i<=100;i++)
for(t=2;t<i;t++)
if(i%t==0) //如果能整除,直接结束第2个for,没有输出
break;
else if(i!=t+1) //i不能整除它前面的数(1除外),那么这个数就是素数
continue; //因为判断素数的过程是“与”关系,所以只取最后一次结果
else
printf("%d\n",i);
}