#include<stdio.h>
#include<math.h>
void main()
{
int n,k,i;
k=(int)sqrt(n);
printf("请输入一个整数:");
scanf("%d",&n);
while(n<=0)
printf("请重新输入一个整数:");
scanf("%d",&n);
for(i=2;i<=k;i++)
{
if(n%i==0)
printf("%d不是素数\n",n);
else
printf("%d是一个素数\n",n);
}
}
int main()
{
int n,i,flag = 1;
printf("请输入一个整数:");
scanf("%d",&n);
while(n<=0){
printf("请重新输入一个整数:");
scanf("%d",&n);
}
for(i=2;i < n;i++)
{
if(n%i == 0){
flag = 0;
}
}
if (flag == 0) {
printf("%d不是一个素数",n);
}
else{
printf("%d是一个素数",n);
}
}
这样写就可以了
#include<stdio.h> #include<math.h> void main() { int n,k,i; printf("请输入一个整数:"); scanf("%d",&n); while(n<=0) { printf("请重新输入一个整数:"); scanf("%d",&n); } //while循环注意括号 k=(int)sqrt(n); //这个n没有初始化啊 for(i=2;i<=k;i++) { if(n%i==0) printf("%d不是素数\n",n); else printf("%d是一个素数\n",n); } } //没有编译运行,你自己试试看