编写一个判断素数的函数int isprime(int m ),(素数就是质数,即除了1和它本身,没有别的因子),从键盘任意输入一个整数范围(m<n),调用该函数统计整数范围内的所有素数个数,非素数的个数,输出所有的素数,素数个数,非素数的个数。
时间: 2023-12-03 10:44:54 浏览: 131
以下是代码实现:
```c
#include <stdio.h>
int isprime(int m)
{
int i;
for (i = 2; i < m; i++) {
if (m % i == 0) {
return 0; // 不是素数,返回 0
}
}
return 1; // 是素数,返回 1
}
int main()
{
int m, n, i, prime_count = 0, not_prime_count = 0;
printf("请输入两个整数 m 和 n(m < n):\n");
scanf("%d %d", &m, &n);
printf("素数:");
for (i = m; i <= n; i++) {
if (isprime(i)) {
printf("%d ", i);
prime_count++;
} else {
not_prime_count++;
}
}
printf("\n素数个数:%d\n非素数个数:%d\n", prime_count, not_prime_count);
return 0;
}
```
以上代码中,`isprime` 函数用于判断一个整数是否为素数,如果是素数,则返回 1,否则返回 0。`main` 函数中,首先从键盘输入两个整数 m 和 n,然后使用 for 循环遍历整数范围,并调用 `isprime` 函数判断每个整数是否为素数。如果是素数,则输出该整数,并将素数计数器 `prime_count` 加 1;否则,将非素数计数器 `not_prime_count` 加 1。最后输出素数个数和非素数个数。
阅读全文