#18916: 請問要怎麼修改呢?(Cpp)


Ashen (Ashen)


#include <iostream>

using namespace std;

int main()
{
int m,d,s;
while(cin>>m>>d)
{
s=(m*2+d)%3;
if(s==0) cout<<"普通"<<endl;
break;

if(s==1) cout<<"吉"<<endl;
break;

if(s==2) cout<<"大吉"<<endl;
break;
}

return 0;
}

#18917: Re:請問要怎麼修改呢?(Cpp)


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)


#include

using namespace std;

int main()
{
int m,d,s;
while(cin>>m>>d)
{
s=(m*2+d)%3;
if(s==0) cout<<"普通"<<endl;
break;

if(s==1) cout<<"吉"<<endl;
break;

if(s==2) cout<<"大吉"<<endl;
break;
}

return 0;
}

「if(s==0) cout<<"普通"<<endl;」、「if(s==1) cout<<"吉"<<endl;」、「if(s==2) cout<<"大吉"<<endl;」

這三個 if 判斷式後面的「break;」,代表要跳出這一層的迴圈或是 switch 判斷式。

而您的程式碼只有 while 迴圈,而「break;」語句包含在此迴圈裡,因而跳出迴圈。

也就是說,當第一個 if 結束後就會跳出迴圈,也就不會輸入進下一筆的測試資料。

 

以上。

#18918: Re:請問要怎麼修改呢?(Cpp)


99161@mail.yaes.tc.edu.tw (雨謙)


 

不用break


#18948: Re:請問要怎麼修改呢?(Cpp)


Ashen (Ashen)


#include

using namespace std;

int main()
{
int m,d,s;
while(cin>>m>>d)
{
s=(m*2+d)%3;
if(s==0) cout<<"普通"<<endl;
break;

if(s==1) cout<<"吉"<<endl;
break;

if(s==2) cout<<"大吉"<<endl;
break;
}

return 0;
}

「if(s==0) cout<<"普通"<<endl;」、「if(s==1) cout<<"吉"<<endl;」、「if(s==2) cout<<"大吉"<<endl;」

這三個 if 判斷式後面的「break;」,代表要跳出這一層的迴圈或是 switch 判斷式。

而您的程式碼只有 while 迴圈,而「break;」語句包含在此迴圈裡,因而跳出迴圈。

也就是說,當第一個 if 結束後就會跳出迴圈,也就不會輸入進下一筆的測試資料。

 

以上。

喔喔~好,謝謝您