c语言练习:写一个判断素数的函数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#pragma warning(disable:4996)
int main(){
int fun(int n); //声明一个fun函数
int p; //输入一个整数
scanf("%d",&p); //scanf输入需要取地址符 &
fun(p); // 把整数p传到函数fun中
return 0;
}
int fun(int n){ //int n 为形参 接收实参 p
int i,m;
m = (int)sqrt(n); // m只需被2~√m之间的每一个整数去除就可以了如果m不能被2-√m之间的每个整数去除,m必定是素数。
// 素数只能被1和本身整除,其他的数不能整除这个素数,所以i=2开始
for ( i = 2; i <= m; i++)
{
if (n % m == 0) //如果其他数被整除,那么就不是素数
{
printf("%d不是素数\n",n);
break;
}
}
if (i > m)
printf("%d是素数\n",n);
return n; //返回 n 传到实参
}