<> exercises 5-4 Using function to find the sum of prime numbers (20 branch )

This problem requires the realization of a simple function to determine the prime number , And using this function to calculate the sum of prime numbers in a given interval .

A prime number can only be 1 A positive integer divisible by itself . be careful :1 It's not a prime ,2 It's a prime .

<> Function interface definition :

int prime( int p );
int PrimeSum( int m, int n );

Where function prime When the user passes in the parameter p Returns when it is a prime 1, Otherwise return 0; function PrimeSum Return interval [m, n] Sum of all primes in . The title guarantees the parameters passed in by the user m≤n.

<> Example of referee test procedure :

#include <stdio.h>
#include <math.h>

int prime( int p );
int PrimeSum( int m, int n );

int main()
{
int m, n, p;
scanf("%d %d", &m, &n); printf("Sum of ( "); for( p=m; p<=n; p++ ) { if(
prime(p) != 0 ) printf("%d ", p); } printf(") = %d\n", PrimeSum(m, n)); return
0;
}

/* Your code will be embedded here */

<> sample input :

-1 10

<> sample output :

Sum of ( 2 3 5 7 ) = 17

<> thinking :

greater than 1, And can only be 1 The number divided by itself is prime
#include <stdio.h> #include <math.h> int prime( int p )// Prime return 1 { int i,flag=0;
for(i=2;i<p;i++) { if(p%i==0) break; } if(i==p) flag=1; return flag; } int
PrimeSum( int m, int n ) { int i,sum=0; for(i=m;i<=n;i++) { if(prime(i)==1) sum=
sum+i; } return sum; } int main() { int m, n, p; scanf("%d %d", &m, &n); printf(
"Sum of ( "); for( p=m; p<=n; p++ ) { if( prime(p) != 0 ) printf("%d ", p); }
printf(") = %d\n", PrimeSum(m, n)); return 0; }
Operation results :

Technology