#include
int main()
{
int i,num;
bool flag=1;
printf("请输入一个整数:\n");
scanf("%d",&num);
for(i=2;i2;i=i+1)
{
if(num%i==0)
{
flag=0;
}
}
if(flag!=0)
{
printf("这是一个素数\n");
}
else
{
printf("这不是一个素数\n");
}
return 0;
}
#include
int main()
{
int i,num;
bool flag=1;
printf("请输入一个整数:\n");
scanf("%d",&num);
if(num=4)
{
printf("这不是一个素数\n");
}
else
{
for(i=2;i2;i=i+1)
{
if(num%i==0)
{
flag=0;
}
}
if(flag!=0)
{
printf("这是一个素数\n");
}
else
{
printf("这不是一个素数\n");
}
}
return 0;
}
你这是 赋值语句,也就是 这里 num=4 表达式结果永远成立,你输入什么数都没有用
判断素数的循环条件错了,for(i=2;i<num/2;i=i+1) 修改为 for(i=2;i<=num/2;i=i+1) 即可,供参考:
#include<stdio.h>
int main()
{
int i,num;
bool flag=1;
printf("请输入一个整数:\n");
scanf("%d",&num);
for(i=2;i<=num/2;i=i+1) //for(i=2;i<num/2;i=i+1) 修改
{
if(num%i==0)
{
flag=0;
}
}
if(flag!=0)
{
printf("这是一个素数\n");
}
else
{
printf("这不是一个素数\n");
}
return 0;
}