关于#素数#的问题,如何解决?

想问下这段代码用于素数判定为什么不对啊 学校OJ平台上的 一直显示错误91%
题目:
输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出“No”
n为正整数且n<=1000
输出占一行


#include 
int main()
{
    int n,i;
    scanf("%d", &n);
    for (i = 2; iif (n % i == 0)
        {
            printf("No");
            return 0;
        }
    }
    printf("Yes");
    return 0;
}

1没考虑,换行符也要加。

#include<stdio.h>
#include<math.h>
int main()
{
    int n,b;
    scanf("%d",&n);
    for(b=2;b<n;b++)//循环筛选能被1和该数的平方根之间的因数整除。
       {
           if(n%b==0)
            break;//说明该数必为合数
       }
        if(b<n||n==1)//如果1到n的平方根之间有一个数能整除,则不是素数;由于定义了n为整形,1在上边循环体输出是0的类型。这里排除它。
            printf("No\n");
        else//1到n的平方根之间不存在一个数能整除,则为素数
            printf("Yes\n");
    return 0;
}

有帮助的话采纳一下哦!

你的代码有问题

img

手机上写的,代码风格不是很好,您可以看看基本的思路

#include<stdio.h>
int main()
{
int a = 0;
scanf("%d",&a);
int i=0;
//设置标记
int flag = 1;
for(i=2;i<a;i++)
{
    if(a%i==0)
    {
    flag =0;
    printf("No\n");
    break;
    }
}
if(flag)
{
printf("Yes\n");
}
return 0;
}

我有写篇文字讲到了关于素数,有空您可以看看