作业帮 > 综合 > 作业

用c语言写:求一组数中全部的素数,并统计个数!

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 14:34:51
用c语言写:求一组数中全部的素数,并统计个数!
坐等,写简单点!
2013年7月3日9:10前回答!时间过来就别答了!
#include <stdio.h>
int issushu(int n)
{
    int i, flg = 0;

    if(n == 0 || n == 1)//0,1不是素数
        return 0;
    if(n == 2)//2是唯一一个偶数素数
        return 1;
    if(n%2 == 0)//除2外其余偶数不是素数
        return 0;
    for(i = 3; i < n; i++)
        if(n%i == 0)
            flg++;
    if(flg == 0)
        return 1;
    else
        return 0;
}
int main(void)
{
    int src[] = {0,1,2,3,5,7,11,13,17,19,23,29,31,
                37,41,43,47,53,59,61,67,71,73,79,83,89,97,98};
    int num = 0, i, len;

    len = sizeof(src)/sizeof(src[0]);//求数组长度
    for(i = 0; i < len; i++){
        if(issushu(src[i])){//判断是否为素数
            printf("%d ", src[i]);
            num++;
        }
    }

    printf("\n%d\n", num);
    return 0;
}
再问: int src[] = {0,1,2,3,5,7,11,13,17,19,23,29,31, 37,41,43,47,53,59,61,67,71,73,79,83,89,97,98}; 这是什么意思! 求一组数中全部的素数 不是100之内的!
再答: 你想要求什么数,把他们改了就是了,你又没说要输入一些数字,然后求出其中素数
再问: 帮我改成输入一些数字,然后求出其中素数!谢谢啦!
再答: #include <stdio.h>
int issushu(int n)
{
    int i, flg = 0;

    if(n == 0 || n == 1)//0,1不是素数
        return 0;
    if(n == 2)//2是唯一一个偶数素数
        return 1;
    if(n%2 == 0)//除2外其余偶数不是素数
        return 0;
    for(i = 3; i < n; i++)
        if(n%i == 0)
            flg++;
    if(flg == 0)
        return 1;
    else
        return 0;
}
int main(void)
{
    int src[1000] = {0};
    int num = 0, i = 0, len = 0;

    while(scanf("%d", &src[len++]) != EOF);
    printf("\n其中素数:");
    for(i = 0; i < len; i++){
        if(issushu(src[i])){//判断是否为素数
            printf("%d ", src[i]);
            num++;
        }
    }

    printf("\n一共有%d个素数\n", num);
    return 0;
}输入数字,每输入一个回车,如果要停止输入,输入ctrl+z再回车即可。
其中我设置最多输入1000个数字,你可以自己改