m0_66176795 2022-04-04 18:23 采纳率: 70.6%
浏览 63
已结题

每五个一行分行输出素数,错误

问题遇到的现象和

每五个一行,分行输出1000以内的素数

问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<math.h>
 int main()
 {
    int n,i,k,m=0;
    for(n=2;n<1000;n++)
    {
        k=sqrt(n);
        for(i=2;i<=k;i++)
            if(n%i==0)break;
        if(i>=k+1)
            printf("%d\t",n);
            m=m+1;
        if(m%5==0) 
            printf("\n");  
    }
    return 0;
 }


运行结果及报错内容

2 3 5
7 11
13
17 19
23
29 31

37 41
43
47
53
59 61

67 71
73
79
83
89

97 101
103
107 109
113

127 131

137 139

149 151

157
163
167
173
179 181

191
193
197 199

……

907 911

919

929

937 941

947
953

967 971

977
983
991

997

  • 写回答

1条回答 默认 最新

  • 海水梦悠悠ii 2022-04-05 01:01
    关注

    括起来,不然n+1,m就会加一
    if(i>=k+1)
    {
    printf("%d\t",n);
    m=m+1;
    if(m%5==0)
    printf("\n");
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 修改了问题 4月5日
  • 创建了问题 4月4日