用C判断素数,按照书练习的,在简单的代码过程中有很多问题,啊,料理。
有个问题。 在以下代码中,将m替换为m不会更改结果,但每个执行过程会是什么样的?
# include stdio.h # include stdlib.h # include math.h//for语句递归编写的intmain({intm=2,n,k; printf((*****确定输入的数量是否为负(******(n ) ) ); 请输入printf ('数量: ); scanf('%d ',n ); k=sqrt(n; 请输入大于//n的算术平方根if(n=0||n==1) {printf ) ) 1的自然数(n ); 返回0; (for ) m; m=k; 如果m//不能整除,则m 1继续循环,直接整除并结束循环,与k进行比较; //在这里输入m不会改变输出,执行过程是怎么样的呢? {if(n%m==0) ) {break; }if(MK ) {printf )素数(n ); (else ) printf )不是素数(n ); }return 0; 用while循环写的/*int main () {int m=2,n,k; printf((*****确定输入的数量是否为负(******(n ) ) ); 请输入printf ('数量: ); scanf('%d ',n ); k=sqrt(n; if(n=0||n==1) {printf (请输入大于1的自然数(n ) ); 返回0; }while(m=k ) if ) n%m==0) {break; (m; (if ) MK ) {printf )素数(n ); (else ) printf )不是素数(n ); }return 0; ) /