#include <stdio.h>
#include <math.h>
int prime(int n);
int prime(int n)
{
int flag = 1, i;
for (i = 2; i <= sqrt(n) && flag == 1; i++)
{
if (n % i == 0)
flag = 0;
}
return flag;
}
int main()
{
int n;
printf("请输入一个整数 n:");
scanf("%d", &n);
if (prime(n))
printf("%d 是素数\n", n);
else
printf("%d 不是素数\n", n);
return 0;
}
解释:
#include <stdio.h>
:包含了标准输入输出库的头文件,以便使用输入输出函数。#include <math.h>
:包含了数学库的头文件,以便使用数学函数。int prime(int n);
:函数原型声明,用于判断一个整数是否为素数。int prime(int n)
:函数定义,用于判断一个整数是否为素数。int flag = 1, i;
:定义变量flag并初始化为1,用于表示是否为素数。变量i用于循环计数。for (i = 2; i <= sqrt(n) && flag == 1; i++)
:循环从2到n的平方根,判断是否存在除了1和n本身以外的因子。if (n % i == 0)
:如果n可以被i整除,则将flag设置为0,表示n不是素数。return flag;
:返回flag的值,1表示n是素数,0表示n不是素数。int main()
:主函数,程序的入口。printf("请输入一个整数 n:");
:输出提示信息,要求用户输入一个整数n。scanf("%d", &n);
:从用户输入中读取整数n的值。if (prime(n)) printf("%d 是素数\n", n);
:调用函数prime判断n是否为素数,如果是素数则输出结果。else printf("%d 不是素数\n", n);
:如果不是素数则输出结果。return 0;
:返回0,表示程序正常结束。