输入两个整数a和b,输出a到b之间的素数个数。使用for函数和if函数作答
时间: 2024-11-13 16:23:54 浏览: 39
历年计算机三级考试题库.pdf
为了计算两个整数 `a` 和 `b` 之间(包括 `a` 和 `b`)的素数个数,你可以用以下C语言代码:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int is_prime(int n) {
if (n <= 1)
return 0;
for (int i = 2; i * i <= n; i++) { // 只需检查到 sqrt(n),因为大于sqrt(n)的因子必定有一个小于或等于sqrt(n)
if (n % i == 0)
return 0;
}
return 1;
}
// 计算并输出素数个数
int count_primes(int a, int b) {
int prime_count = 0;
for (int i = a; i <= b; i++) {
if (is_prime(i))
prime_count++;
}
printf("The number of primes between %d and %d is %d.\n", a, b, prime_count);
return prime_count;
}
int main() {
int num1, num2;
printf("Enter the first integer (a): ");
scanf("%d", &num1);
printf("Enter the second integer (b): ");
scanf("%d", &num2);
// 检查输入范围的有效性
if (num1 > num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
count_primes(num1, num2);
return 0;
}
```
在这个代码中,`is_prime` 函数用于判断给定的数字是否为素数,`count_primes` 函数遍历从 `a` 到 `b` 的所有整数并计数素数。`main` 函数获取用户的输入,确保 `a` 不大于 `b`,然后调用 `count_primes` 函数。
阅读全文