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


Ashen (Ashen)

學校 : 國立中正大學
編號 : 100924
來源 : [27.247.39.15]
最後登入時間 :
2022-08-31 23:48:14
a003. 兩光法師占卜術 | From: [223.138.131.27] | 發表日期 : 2019-08-14 12:33

#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...)

學校 : 國立清華大學
編號 : 43537
來源 : [49.159.6.107]
最後登入時間 :
2022-05-28 19:29:12
a003. 兩光法師占卜術 | From: [49.158.83.43] | 發表日期 : 2019-08-14 12:58

#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 (雨謙)

學校 : 國立清水高級中學
編號 : 100553
來源 : [61.67.27.1]
最後登入時間 :
2020-09-16 11:09:06
a003. 兩光法師占卜術 | From: [61.67.27.13] | 發表日期 : 2019-08-14 15:13

 

不用break


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


Ashen (Ashen)

學校 : 國立中正大學
編號 : 100924
來源 : [27.247.39.15]
最後登入時間 :
2022-08-31 23:48:14
a003. 兩光法師占卜術 | From: [223.138.131.27] | 發表日期 : 2019-08-16 13:42

#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 結束後就會跳出迴圈,也就不會輸入進下一筆的測試資料。

 

以上。

喔喔~好,謝謝您

 
ZeroJudge Forum