程序功能:
判断一个数是否是素数
设计思想:
1-特殊:负数不是素数,1不是素数,2是素数
2-其他:可以用试除法--若要判断n(n>2)是否是素数,则判断n模上2到n-1的数字是否等于0;
若等于0,不是素数;若所有的试除结果都不等于0,则为素数。
完整代码:
#include<stdio.h>
void Prime(int x) //x表示形参
{
int i = 1;
int count = 0;
if (x <= 1)
count = 0;
else if (x == 2)
count = 1;
else
for (i = 2; i < x; i++)
{
if (x % i == 0) //能被整除跳出循环无需在进行判断
{
count = 0;
break;
}
else
count = 1;
}
if (count == 1) //若最后count=1,则是素数
printf("是素数\n");
else
printf("不是素数\n");
}
int main()
{
int a = 0;
printf("判断素数->");
scanf("%d", &a);
Prime(a); //调用Prime()函数
return 0;
}
收获和感想:
用独立的函数模块实现了判断素数的功能。
用函数来实现某个功能可以减少主函数内的代码,看起来整洁明了,容易理解。而却其他函数也可以多次重复调用,可以减少重复代码。