#include <string>
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char** argv){
int m,d,s;
while(cin>>m>>d)
s=(m*2+d) % 3;
if(s==0)
cout<<"普通"<<endl;
else if(s==1)
cout<<"吉"<<endl;
else if(s==2)
cout<<"大吉"<<endl;
}
C++的while如果沒有特別規範的話只會在一個語句(可以大致理解成直到分號;為止)進行迴圈,
所以你的while只會重複執行 s=(m*2+d) % 3; 而不會執行到下面的 if-else ,
直到跳出while迴圈之後才會執行下面的 if-else ,
以上就是你的程式只會輸出一行的原因。
若要使C++的while重複執行多個語句,
請將這些語句用大括號{}包起來即可~
以上希望有幫助到你~ OwO