为了账号安全,请及时绑定邮箱和手机立即绑定

求解答!!!

求帮忙看看这段代码有什么错误,这个程序的目的是找出a~b之间的所有素数

#include <stdio.h>
int main()
{
 int a,b,x,y,found;
 scanf("%d %d",&a,&b);
 for(x=a;x<=b;x++)
 {
  for(y=2;y<b;y++)
  {
   found==0;
   if(x%y==0)
   { 
    found==1;
    break;
   } 
  }
   if(0==found)
   {
    printf("%d ",x);
   }
 
 }
 return 0;
 }


正在回答

代码语言

3 回答

#include <stdio.h>
int main()
{
 int a, b, x, y, found;
 scanf_s("%d %d", &a, &b);
 for (x = a; x <= b; x++)
 {

  found = 0;
  for (y = 2; y<x; y++)
  {

   if (x%y == 0)
   {
    found = 1;
    break;
   }
  }
  if (found==0)
  {
   printf_s("%d ", x);
  }

 }
 return 0;
}

第二个for循环的时候,条件取错了,取b就是一个定量了

还有就是,不知道为什么,输入a和b的两个值的时候,不能用逗号隔开,要用空格隔开

0 回复 有任何疑惑可以回复我~

#include <stdio.h>

int main()

{

 int a,b,x,y;

 scanf("%d %d",&a,&b);


 for(x=a;x<=b;x++)

 {

  int found=0;

  for(y=2;y<x;y++)

  {

   if(x%y==0)

   { 

   found=-1;

   break; 

   }

  }

  if(found==0)

  {

  printf("%d ",x);

  }

 }

 return 0;

 } 

一:found=0应该在第一个for循环下定义,在第二个for下定义的话,found永远是无明确变量。二:found应该赋值0,1,而不是等于0,1.

1 回复 有任何疑惑可以回复我~
#1

慕标9165695 提问者

什么事无明确变量呢?能详细解释一下吗?
2016-09-28 回复 有任何疑惑可以回复我~

#include <stdio.h>
int main()
{
 int a,b,x,y,found;
 scanf("%d %d",&a,&b);
 for(x=a;x<=b;x++)
 {

found =0;
  for(y=2;y<b;y++)
  {

   if(x%y==0)
   { 
    found==1; 
    break;
   } 
  }
   if(0==found)
   {
    printf("%d ",x);
   }
 
 }
 return 0;
 }

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求解答!!!

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号