#include <stdio.h> #include <math.h> int isPrime(int n) { int i; for(i=2; i<=sqrt((double)n); i++) if(n%i==0) return 1; return 0; } int main(int argc, char *argv[]) { int i,j; for(i=2;i<100;i++){ j = isPrime(i); if(j == 0) printf("%d ",i); } } 注意点: 1、编译时:gcc sushu.c -o sushu -lm ,这里一定要加-lm将数学库连起来; 2、sqrt函数原型是double sqrt(double n),因此最好用double强制类型转换一下,得出的结果会比较精确。