写一个fun函数用于一个判断整数是否为素数的函数,并使用该函数求1000以内的素数

我要的是优质解答,谢谢

#include <stdio.h>
int fun(int a); //函数声明
void main()
{
int i;

for(i=2;i <1000;i++) //for 循环 i从2到1000

{

if(fun(i)) //把i传递给fun函数 如果返回 1 就是素数 C语言中0为假 非0为真

printf("%d\t",i); //输出i

}

}

int fun(int a)
{
int n;

//除了1和他自身,没有其他数能整除的数就是素数
for(n=2; n<a;n++) //for 循环 n从2 开始到 a-1
{
if(a%n ==0) //a除n的余数为0 说明能整除 不是素数
return 0;

}
// 循环结束后没有return 0; 说明没有其他书能整除a a是素数
return 1;
}追问

谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-21
//以前写的code,测试通过,如果有疑问,欢迎交流
#include<stdio.h>
#include<math.h>
int is_prime(int tar){//判断是否为素数
    int i = 2;
int end = sqrt((float)tar);
    while(i <= end){
        if(tar % i == 0)
            return 0;
        i++;
    }
    return 1;
}
int main(){
int i ;
for(i = 2; i<=1000;i++){
if(is_prime(i) == 1){
printf("%d ", i);
}
}
return 0;
}

本回答被提问者采纳
相似回答