素数是指在大于1的自然数中,除了1和它本身之外没有其他因数的自然数。
1.先定义一个数num。
int num;
2.输入一个数。
scanf("%d",&num);
3.写出一个isprime函数来判断输入的数字是否为素数。
int isprime(int num)
{
if (num <= 1)
return 0;
if (num == 2)
return 1;
for (int i = 2; i < sqrt(num); i++)
{
if (num % i == 0)
return 0;
}
return 1;
}
其中1和2是特殊值,提前判断好。其他数值通过for循环用num余小于num平方根的所有数来判断只要有num%2==0就可以判断该数不为素数,返回0。是素数返回1.再通过主函数里面的if语句来识别返回值,返回1为素数,返回0不是素数通过printf打印。
#include <stdio.h>
#include <math.h>
int isprime(int num)
{
if (num <= 1)
return 0;
if (num == 2)
return 1;
for (int i = 2; i < sqrt(num); i++)
{
if (num % i == 0)
return 0;
}
return 1;
}
int main()
{
int num;
printf("请输入一个整数:");
scanf("%d",&num);
if (isprime(num))
printf("%d是一个素数。\n", num);
else
printf("%d是不一个素数。\n", num);
return 0;
}