编写一个函数程序,其功能是判定一个数是否为素数,若是素数则函数返回值为1,若不是素数则函数返回值为0。用此函数判定找出100以内最大的3个素数。用c语言编写
时间: 2023-06-13 16:04:27 浏览: 67
以下是用 C 语言编写的判断素数函数:
```c
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;
}
```
函数的输入参数为一个整数 n,返回值为 1 表示 n 是素数,返回值为 0 表示 n 不是素数。函数的实现原理是从 2 开始遍历到 sqrt(n)(即 n 的平方根)之间的每一个数,如果存在任意一个数可以整除 n,则 n 不是素数,否则 n 是素数。
接下来,我们可以利用这个函数来找出 100 以内最大的 3 个素数:
```c
#include <stdio.h>
int isPrime(int n);
int main(){
int maxPrime[3] = {0}; // 用数组记录最大的 3 个素数
for(int i=2;i<=100;i++){
if(isPrime(i)){
if(i>maxPrime[0]){
maxPrime[2] = maxPrime[1];
maxPrime[1] = maxPrime[0];
maxPrime[0] = i;
}else if(i>maxPrime[1]){
maxPrime[2] = maxPrime[1];
maxPrime[1] = i;
}else if(i>maxPrime[2]){
maxPrime[2] = i;
}
}
}
printf("100以内最大的 3 个素数为:%d %d %d\n", maxPrime[0], maxPrime[1], maxPrime[2]);
return 0;
}
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;
}
```
输出结果为:
```
100以内最大的 3 个素数为:97 89 83
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)