用c语言先定义一个函数isPrime判断正整数n是否是一个素数,若是则返回1,否则返回0。然后调用该函数找出100到1000之间的所有素数并输出,每行输出10个,最后输出所有素数的个数
时间: 2024-02-21 07:01:24 浏览: 65
好的,这是一个比较经典的算法题目,下面是代码实现:
```c
#include <stdio.h>
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int cnt = 0; // 记录素数的个数
for (int i = 100; i <= 1000; i++) {
if (isPrime(i)) {
cnt++;
printf("%d ", i);
if (cnt % 10 == 0) { // 每行输出10个素数
printf("\n");
}
}
}
printf("\n");
printf("共有%d个素数\n", cnt);
return 0;
}
```
首先是定义了一个 `isPrime` 函数,用于判断一个正整数是否是素数。这里采用的是试除法,从2到n-1依次除以每个数,如果能整除则不是素数。如果一直到 $\sqrt{n}$ 都没有找到可以整除的数,则说明 n 是素数。
然后在主函数中,从100到1000枚举每个数,判断是否是素数。如果是素数,则输出并记录个数,每行输出10个素数。
最后输出所有素数的个数。
希望能对您有所帮助!
阅读全文