C语言用数组的方法判断输入的十个数是不是素数

C语言用数组的方法判断输入的十个数是不是素数。。。。。。。。。。。。。。。

如有帮助,请采纳。点击我回答右上角【采纳】按钮。

int main() {

    const int maxnum = 10;
    int isPrime[maxnum];
    int i, x;
    for (i = 0; i < maxnum; i++) {
        isPrime[i] = 1;//把数组所有元素初始为1
    }
    //元素的下标代表判断的数字,值为1表示素数,值为0不是
    for (x = 2; x < maxnum; x++) {
        if (isPrime[x]) {
            for (i = 2; i * x < maxnum; i++) {
                isPrime[i * x] = 0; //从2开始,把每个数的倍数都挨个排除掉
            }
        }
    }
    for (i = 2; i < maxnum; i++) {
        if(isPrime[i]){
    		printf("%d\t", i);
		}
    }
    return 0;
}

bool isprime(int n)
{
    for(int i=2;i<n;i++)
        if(n%i==0)
            return false;
    return true;
}

void main()
{
    int a[10],i;
    bool prime[10] = {0};
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        prime[i] = isprime(a[i]);
    }
    printf("输入的素数有:");
    for(i=0;i<10;i++)
    {
        if(prime[i])
            printf("%d ",a[i]);
    }
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632