声明:本编译器为vs,所以输入函数需要写为scanf_s
题目:统计给定整数 M 和 N 区间内素数的个数并对它们求和。
#include <stdio.h>
void Judge(int min, int max);//函数原型;
int main()
{
int n = 0, sum = 0;
int min, max;
printf("Please input min and max: ");
scanf_s("%d %d", &min, &max);
printf("prime number:\n");
Judge(min, max);//函数调用;
return 0;
}
//函数功能:判断是否为素数并输出;求和;
void Judge(int min, int max) {
int i, j, sum = 0, n = 0;
for (i = min; i <= max; i++) {
for (j = 2; j <= i; j++) {
if (i%j == 0) { break; }//找到他的因子时跳出循环;
}
if (j == i) {//判断该因子是否等于其本身;若等于输出并求和和计数;
printf("%d\t", i);
sum = sum + i;
n++;
}
}
printf("\n");
printf(" n==%d sum==%d", n, sum);
}
运行结果如下: