c语言编写函数判断素数。在主函数中把20以内素数保存到文件中,然后使用fscanf()读取文件内容,打印在屏幕上。不要使用bool
时间: 2024-12-16 22:14:45 浏览: 12
2cqn,c语言源码素数求和,c语言项目
在C语言中,我们可以编写一个函数用于检查一个数字是否为素数,同时创建一个辅助函数将素数写入文件。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h> // 可选,这里不使用,因为题目要求
// 判断整数n是否为素数的函数
int is_prime(int n) {
if (n <= 1)
return 0;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0)
return 0; // 如果n能被i整除,不是素数
}
return 1; // 否则,n是素数
}
// 将素数保存到文件中的函数
void save_primes_to_file(int limit, char* filename) {
FILE* file = fopen(filename, "w");
if (!file) {
printf("Error opening file.\n");
return;
}
for (int i = 2; i <= limit; i++) {
if (is_prime(i)) {
fprintf(file, "%d\n", i);
}
}
fclose(file);
}
// 主函数:生成并保存20以内素数到文件,然后读取并打印
int main() {
int primes_limit = 20;
char prime_filename[] = "primes.txt";
save_primes_to_file(primes_limit, prime_filename);
// 读取文件并打印素数
FILE* read_file = fopen(prime_filename, "r");
if (!read_file) {
printf("Error reading file.\n");
return 1;
}
char number[5];
while (fgets(number, sizeof(number), read_file)) {
printf("%s", number); // 去掉换行符
}
fclose(read_file);
return 0;
}
```
阅读全文