在代码中输出素数,为什么输出会有一些重复的数字呢?(语言-c语言)

alt

(https://img-mid.csdnimg.cn/release/static/image/mid/ask/91415526597619.jpg "#left")

你这个printf的位置写的不对啊。只要i不是j的倍数,你就会输出一次

printf("2 ");
for(i=3;i<=200;i++)
{
    for(j=2;j<15;j++)
        if(i%j==0)
          break;
    if(j>=15)
        printf("%d ",i);
}

你的else不能写在for循环里面
判断要拿到外面来

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:前端Img使用图片跨域问题是怎么引起的?该如何解决呢?
  • 除此之外, 这篇博客: C语言 结构体题目(能帮助大家清晰地掌握结构体的相关用法,简单易懂)中的 题目5: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    【问题描述】有以下类信息,使用结构体数组存储这些信息
    struct class{
    int id;//类编号
    char info[20]; //类信息
    }a[5]={{1,"aaa"},{2,"bbb"},{6,"ccc"},{7,"ddd"},{4,"eee"}};

    从键盘输入一个类编号,如果有该类,删除该类信息,并输出删除
    后剩余类信息;如果没有,全部输出。
    【输出形式】分行输出数据,每行数据均使用一个空格分隔
    【输入样例】1
    【输出样例】每行数据均使用一个空格分隔,分行输出
    2 bbb
    6 ccc
    7 ddd
    4 eee


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^