C语言判断m1到m2范围内的素数,控制台上输出素数和个数,并将素数的个数保存在一个文件中
时间: 2024-01-28 15:05:38 浏览: 79
C语言判断一个数是否为素数方法解析
5星 · 资源好评率100%
以下是一份 C 语言代码,可以实现你所需的功能:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int m1, m2, count = 0;
printf("请输入 m1 和 m2 的值:");
scanf("%d %d", &m1, &m2);
FILE *fp;
fp = fopen("prime_count.txt", "w");
printf("%d 到 %d 范围内的素数有:\n", m1, m2);
for (int i = m1; i <= m2; i++) {
if (is_prime(i)) {
printf("%d ", i);
fprintf(fp, "%d\n", i);
count++;
}
}
printf("\n素数的个数为:%d\n", count);
fprintf(fp, "素数的个数为:%d\n", count);
fclose(fp);
return 0;
}
```
代码中的 `is_prime` 函数用于判断一个整数是否为素数。`main` 函数中首先读取用户输入的 `m1` 和 `m2`,然后打开一个名为 `prime_count.txt` 的文件,并使用循环遍历 m1 到 m2 范围内的整数,对于每个整数,如果它是素数,则将其输出到控制台并写入文件中,并将素数个数加一。最后输出素数的个数并将其写入文件中,并关闭文件。
阅读全文