是否是素数的函数原型Рint IsPrime2(int y); //判断是否是素数的函数原型Рint main()Р{Р int m;Р int a = 1; //a表示质因数之积Р int b; //b表示m与其因数之商Р printf("Please enter a integer:");Р scanf("%d", &m); //用户输入欲判断的数Р if(IsPrime1(m) == 1){ //调用判断是否是素数的函数,若是,打印语句Р printf("It is a prime number!\n");Р }Р //调用判断是否是素数的函数,若不是将m表示为质因数从小到大顺序排列的乘积形式输出Р if(IsPrime1(m) == 0){Р printf("%d =", m);Р while(a != m){ //判断所有因子之积是否等于m,不等继续运行Р b = m / a;Р printf(" %d ", IsPrime2(b)); //打印因子Р a = IsPrime2(b) * a; //m的因子之积Р if(a != m){Р printf("*"); //打印乘号Р }Р }Р }Р return 0;Р}Рint IsPrime1(int x) //判断是否是素数的函数Р{Р int i;Р int j = 0;Р for(i = 1; i <= sqrt(x); i++){Р if(x % i == 0){ //利用试商法判断是否能被2~ n的开方(取整)之间的数整除Р j++;Р }Р }Р if(j <= 1){ //若j小于2,则说明能被2~ n的开方(取整)之间的数整除,返回1;否则返回0Р return 1;Р }Р elseР return 0;Р} //子函数结束Рint IsPrime2(int y) //判断是否是素数的函数Р{