定义一个类prime,用于求在一个指定范围内素数的个数,例如在3到50范围内素数有14个,编程要求int low存放给定整数范围的下限,int up存放给定整数范围的上限,int count存放满足条件的整数的个数,prime(int n1,int n2)构造函数,用c语言回答
时间: 2024-02-27 08:53:17 浏览: 140
以下是符合要求的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
/* 定义一个prime类 */
typedef struct {
int low; /* 给定整数范围的下限 */
int up; /* 给定整数范围的上限 */
int count; /* 满足条件的整数的个数 */
} prime;
/* 判断一个数是否为素数 */
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
/* 定义prime类的构造函数 */
void prime_init(prime *p, int n1, int n2) {
p->low = n1;
p->up = n2;
p->count = 0;
}
/* 计算给定整数范围内的素数个数 */
void count_primes(prime *p) {
p->count = 0;
for (int i = p->low; i <= p->up; i++) {
if (is_prime(i)) {
p->count++;
}
}
}
int main() {
/* 测试代码 */
prime p;
prime_init(&p, 3, 50);
count_primes(&p);
printf("在%d到%d范围内素数有%d个\n", p.low, p.up, p.count);
return 0;
}
```
程序输出:
```
在3到50范围内素数有14个
```
阅读全文