qq_43606566 2018-11-05 01:28 采纳率: 0%
浏览 670
已采纳

这个问题不知道为什么出来的数字不对 想请教一下该改正哪里 用c-free写的?

图片说明

 #include<stdio.h>
int main ()
{
    int i,j,s,b=0,c=0;
    printf("Input num:");
    scanf("%d",&s);
    if(s<2)
    {
        printf("Prime number is 2\n");
    }
    else if(s==2)
    {
        printf("Prime number is 3\n");
    }
    else
    {
        for(i=s+1;b==i;i++)
           for(j=2;j<i;j++)

           if(i%j==0)break;

           if(j=i)
           {
              b=i;
           }




       for(i=s-1;c==i;i--)
           for(j=2;j<i;j++)
           if(i%j==0)break;
           if(j=i)
           {
               c=i;

           }


     if((b-s)<(s-c))
     {
         printf("Prime number is %d\n",b);
     }
     else if((b-s)==(s-c))
     { 
         printf("Prime number is %d %d\n",b,c);
     }
     else
     {
         printf("Prime number is %d\n",c);
     }
    }
    return 0;
}
  • 写回答

2条回答 默认 最新

  • threenewbee 2018-11-05 01:58
    关注

    代码上次给你了,https://ask.csdn.net/questions/707861

    这次就说说你的错误,=是赋值,==才是判断。
    if(j=i)
    这里明显写错了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?