C语言 找出任意两整数之间的素数以及他们的和

#include<stdio.h>
//函数声明
int isPrime(int);
int prinmeNumbers(int,int);
int primeNumbers(int,int);
void printPrime(int,int);
int primeSum(int,int);


void main(){
    //求a-b之间的素数个数以及素数和
    int a = 0,b = 0;
    printf("Enter A,B\n");
    scanf("%d,%d",&a,&b);
    printPrime(a,b);
    printf("\n");
    printf("Prime numbers sum is: %d\n",primeSum(a,b));

}

int isPrime(int num){
    //首先排除偶数
    if(num == 2)    {return(1);    }
    if(num % 2 == 0){    return(0);    }
    //判断奇数
        
        //质数乘偶数结果是合数(偶数)不是质数(奇数),所以跳过偶数的判断
    for(int i = 3; i < num; i += 2){
        if(num % i == 0)    return(0);    
    }
    return(1);
    
}

int primeNunbers(int a,int b){
    //循环找出a-b之间的素数个数
    int primeNumbers = 0;
    a += 1;
    for(a ; a < b; a++){
        if(isPrime(a))primeNumbers++;
    }
    return(primeNumbers);
}

int primeSum(int a,int b){
    //求a-b之间素数的和
    a += 1;
    int primeSum = 0;
    for(a ; a < b; a++){
        if(isPrime(a)) primeSum += a;
    }

    return(primeSum);
}

void printPrime(int a, int b){
    //打印a-b之间的素数
    int temp = 0;
    a += 1;
    for(a ; a < b; a++){
        if(isPrime(a)) {
            printf("%-5d",a);
            temp++;
            if(temp % 5 ==0)printf("\n");
        }
    }
    printf("\n");
    printf("%Prinme numbers is: %d",temp);
    printf("\n");
}
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页