程序代码:
/*1*/ #include<stdio.h>
/*2*/ int main(void)
/*3*/ {
/*4*/ int num;//输入的整数
/*5*/ int isprime;//素数的标志
/*6*/ int div;//可能的约数
/*7*/ printf("please enter a number to analyze:q to quit\n");
/*8*/ while(scanf("%d",&num)==1)
/*9*/ {
/*10*/ for(div=2,isprime=1;(div*div)<=num;div++)//for循环开始的时候isprime等于1,观察一下for结束的时候是不是仍然等于1。
/*11*/ {
/*12*/ if(num%div==0)//如果输入的数是素数,则不会进入if语句。
/*13*/ if(div*div!=num)
/*14*/ printf("%d能被%d和%d整除\n",num,div,num/div);
/*15*/ else
/*16*/ printf("%d能被%d整除\n",num,div);
/*17*/ isprime=0;//在for循环里面设置一个相反的值
/*18*/ }
/*19*/ printf("此时isprime的值是%d\n",isprime);//打印isprime的值。想知道输入的数有没有进入过for循环/n
//结果无论输入素数还是非素数,isprime的值都是for循环里面的值(此处为0)。为什么????????
/*20*/ if(isprime==0)
/*21*/ printf("你输入的%d不是素数。\n",num);
/*22*/ else
/*23*/ printf("你输入的%d是素数。\n",num);
/*24*/ printf("please enter a number to analyze:q to quit\n");
/*25*/ }
/*26*/ printf("\n");
/*27*/ return 0;
/*28*/ }
本文介绍了一个用C语言编写的素数判断程序。程序通过循环判断输入整数是否能被除1和自身以外的数整除,从而确定该数是否为素数。文章详细解释了程序的工作原理及关键步骤。
598

被折叠的 条评论
为什么被折叠?



