#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");
}
C语言/找出任意两整数之间的素数以及他们的和
最新推荐文章于 2023-03-31 14:18:01 发布