Linux中,5、利用C语言判断1-2000内的素数,并将其中是奇数的素数输入到prime.odd文件中。
时间: 2024-03-10 07:45:59 浏览: 64
以下是一个基于C语言的判断1-2000内素数并将奇数素数输出到prime.odd文件的程序:
```c
#include <stdio.h>
int main() {
int i, j, flag;
FILE *fp;
fp = fopen("prime.odd", "w"); // 打开文件prime.odd
if (fp == NULL) {
printf("文件打开失败!");
return 1;
}
for (i = 2; i <= 2000; i++) {
flag = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1 && i % 2 != 0) {
fprintf(fp, "%d\n", i); // 将奇数素数输出到文件
}
}
fclose(fp); // 关闭文件
return 0;
}
```
程序的思路是:从2开始循环到2000,对每个数进行判断是否为素数,如果是素数并且是奇数,就将其写入到prime.odd文件中。其中,flag变量用于标记是否为素数,初始化为1,如果该数能被小于它的数整除,则将flag标记为0,表示不是素数。最后,利用文件操作函数fprintf将奇数素数输出到文件中,最后关闭文件。
阅读全文