编写一个c语言函数,函数功能为判断一个整数是否为质数。并写出主函数,调用该函数,将10000之内的所有质数输出,每行输出10个数据,并统计一共有多少个质数,将这些质数依次写入一个文件中,文件名为zhishu.dat,文件中格式与输出格式一致
时间: 2024-09-15 08:09:27 浏览: 49
c语言:实现一个函数,判断一个数是不是素数
5星 · 资源好评率100%
在C语言中,我们可以编写一个函数`is_prime()`来判断一个整数是否为质数,然后在主函数`main()`中遍历1到10000的所有整数,调用这个函数,将符合条件的质数打印出来并计数。同时,我们将这些质数写入一个名为`zhishu.dat`的文件中。
首先,定义`is_prime`函数:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为质数的函数
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
// 主函数
int main() {
FILE* file = fopen("zhishu.dat", "w");
if (file == NULL) {
perror("Failed to open the file");
return 1;
}
int count = 0; // 计数器
int start = 2; // 质数起始位置
while (count < 100 && start <= 10000) { // 输出100个质数
if (is_prime(start)) {
printf("%d ", start); // 打印到控制台
fprintf(file, "%d\n", start); // 写入文件
count++;
}
start++;
}
fclose(file);
printf("\nTotal prime numbers: %d\n", count);
return 0;
}
```
在这个程序中,我们首先尝试打开`zhishu.dat`文件用于写入。然后从2开始检查每个数,如果它是质数就打印到控制台和写入文件,直到找到100个质数或超过10000。最后,关闭文件并显示总共有多少个质数。
阅读全文