定义一个一维数组,从键盘输入十个元素,找出其中的素数并求和

定义一个一维数组,从键盘输入十个元素,找出其中的素数并求和


#include "stdio.h"
int ispirme(int n)
{
    if (n <= 1)
        return 0;
    int i;
    for (i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int i, sum = 0, a[10];
    for (i = 0; i < 10; i++)
    {
        scanf("%d", &a[i]);
    }
    for (i = 0; i < 10; i++)
    {
        if (ispirme(a[i]))
        {
            printf("%d ",a[i]);
            sum += a[i];
        }
    }
    printf("\nsum = %d", sum);
    return 0;
}

有帮助请采纳!🌼

img

#include<stdio.h>
#include<math.h>
int f(int x)
{
    int j;
    for( j=2; j<=sqrt(x); j++)
    {
        if(x%j==0)
            return 0;
    }
    return 1;
}
int main()
{
    int t[10],j,k;
    for(j=0; j<10; j++)
    {
        scanf("%d",&t[j]);
    }
    int sum=0;
    printf("素数:");
    for(j=0; j<10; j++)
    {
        if(f(t[j])==1)
        {
            printf("%d ",t[j]);
            sum+=t[j];
        }
    }
    printf("\n和为%d\n",sum);
    return 0;
}
#include <stdio.h>
#include <math.h>

#define N 10

int is_prime(int x)
{
    if (x < 2)
        return 0;
    int n = (int)sqrt(x);
    for (int i = 2; i <= n; i++)
        if (x % i == 0)
            return 0;
    return 1;
}

int main()
{
    int a[N], sum = 0;
    for (int i = 0; i < N; i++)
        scanf("%d", &a[i]);
    printf("Prime numbers are ");
    for (int i = 0; i < N; i++)
    {
        if (is_prime(a[i]))
        {
            printf("%d ", a[i]);
            sum += a[i];
        }
    }
    printf("\nThe sum of the prime numbers is %d.\n", sum);
    return 0;
}