#21913: 疑惑超級疑惑


shanchiapei@gmail.com (若遙)


 

為何把b,c宣告在while 裡面他就會過,如下

int main()

{

  int a;

  while(cin>>a)

  {

    int b,c=0;

    for(int i=0;i<a;i++){

      cin>>b;

      c = c + b;

    }

    if(c<=(59*a)){

      cout<<"yes"<<endl;

    }else{

      cout<<"no"<<endl;

    }

  }

}

 

但是放在外面就不會過

 

int main()

{

  int a, b, c=0;

  while(cin>>a)

  {

    for(int i=0;i<a;i++){

      cin>>b;

      c = c + b;

    }

    if(c<=(59*a)){

      cout<<"yes"<<endl;

    }else{

      cout<<"no"<<endl;

    }

  }

 

}

#21920: Re:疑惑超級疑惑


easylin0126@gmail.com (林榮翼)


 

為何把b,c宣告在while 裡面他就會過,如下

int main()

{

  int a;

  while(cin>>a)

  {

    int b,c=0;

    for(int i=0;i<a;i++){

      cin>>b;

      c = c + b;

    }

    if(c<=(59*a)){

      cout<<"yes"<<endl;

    }else{

      cout<<"no"<<endl;

    }

  }

}

 

但是放在外面就不會過

 

int main()

{

  int a, b, c=0;

  while(cin>>a)

  {

    for(int i=0;i<a;i++){

      cin>>b;

      c = c + b;

    }

    if(c<=(59*a)){

      cout<<"yes"<<endl;

    }else{

      cout<<"no"<<endl;

    }

  }

 

}

底下的c會因為重複輸入的關係累加到之前的資訊,解決辦法就是像上面一樣重新宣告或是你每次要處理前都把c設成0