用C语言编写一个程序,设计一个判断素数的函数
1.素数是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;
2.在数据处理时只需要判读他的因子除了1和他本身就行了,而且只用计算到 这个数的开方就行了,因为后面的因子和前面的就会倒过来。如同 24 – 2 x 12 和 12 x 2 一样。
#includestdio.h
int IsPrime(int n) // 判断是否为素数
{
if (n = 1) return 0;
if (n % 2 == 0) return n == 2; // 如果是偶数,只要不是2,其他都是非素数
for (int i = 3; ; i += 2)
{
if (i n/i) break; // 等价于 i*i n, 不用开方
if (n % i == 0) return 0;
}
return 1;
}
int main()
{
int i, cnt = 0;
for (i = 1; i 100; i++)
{
if (IsPrime(i))
{
printf(“%3d “, i);
if (++cnt%5 == 0) // 每5个换行
printf(“\n”);
}
}
return 0;
}
用C语言的编程:利用调用函数,判断一个数是否是素数。
1、首先需要打开vs软件工程,准备好一个空白的C语言文件,引入头文件,主函数中暂时没有内容:
2、这里开始编写代码,这里判断素数需要用到平方根,所以要在头文件中引入math库,然后编写判断素数的函数,函数有唯一的参数n,代表素数。判断的依据是素数n只要不能被 2 到根号下n之 间任一整数整除,则n必定是素数,最后在主函数中调用判断素数的函数即可:
3、最后,编译运行程序,在弹出的命令行中输入17这个素数,程序的打印结果是17是素数,证明了程序的正确性。以上就是用C语言判断素数的流程:
用c语言,怎样实现,判断一个函数是否已执行?
判断返回值。设置一个状态变量status,每次进入循环对其清0,让其接收a函数的返回值,让a函数返回1,在后面判断一下status变量的值就ok。
C语言程序题函数判断回文数
#
include
//添加头文件
int
main(void)//主函数
{
int
val;
int
m;
int
sum
=
0;//定义三个整型变量,分别是val
m
sum,其中sum赋初值位0
printf(“请输入您需要判断的数字:”);
scanf(“%d”,val);//接受用户输入的数据,并存入变量val中
m
=
val;//将m赋值为val
while
(m)//通过循环将m分解,将每位的数字乘以位数
{
sum
=
sum
*
10
+
m%10;
m
/=10;
}
//比如是123,那么整个循环过程是
//sum=3
//sum=3*10+2
//sum=32*10+1
//sum=321
//此时sum于val相等
if(sum
==
val)//若sum与val相等,则输出yes,否则输出no
printf(“yes!\n”);
else
printf(“no!\n”);
return
0;//主函数函数返回值
}
希望能帮助你!
c语言判断素数的函数程序
c语言判断素数的函数程序:
经分析,以上代码使用flag的值来判断输入的n是否为素数,flag=1,n为素数;flag=0,n不是素数。完善if条件语句,第一个if,主函数中的if调用函数,需要填入一个参数,即prime(n);第二个if,是判断什么情况下flag=0,即输入的整数不为素数,即(n/i==0),余数为0,可以整除;最后返回flag的值,returnflag
但是经过运行可以知道,n=4的时候,程序判断4是素数,明显是错误的,n取0和1的时候同理,程序存在漏洞。分析得知,在定义函数的过程中,for循环条件语句,i=0,如果为负整数,另加判断条件,略)