#includestdio.h#includemath.hint main(){int n,i,k;printf(please enter a integer number:n=?n);scanf(%d,while(n!=1)你这里while条件一直成立(只要你输入的数不是1)所以会一直循环{ k=sqrt(n);for(i=2;i=k;i++)if(n%i==0)break;if(i=k)printf(%d is not a prime number.n,n);else printf(%d is a prime number.n); break;这里加一条break语句就行了,跳出循环}return 0;}赞同0|评论
while(n!=1){ k=sqrt(n); for(i=2;i=k;i++)if(n%i==0)break; if(i=k)printf(%d is not a prime number.n,n); else printf(%d is a prime number.n);}改成if(n!=1){ k=sqrt(n); for(i=2;i=k;i++)if(n%i==0){printf(%d is not a prime number.n);return 0;}有一次能除尽就说明不是素数,输出结果并结束main函数
printf(%d is a prime number.n,n);循环完了都不能出尽说明是素数 }else printf(%d is not a prime number.n,n);等于1的情况也输出一下赞同0|评论