こんにちはこれは私の割り当てコードです。else 'and' 'or'
すべてのダイスが等しいかどうかテストする最初の "if"、またゲームのラウンド数に等しい。
すべてのダイスが等しいかどうかをテストするための第2の "else if"が、ラウンド番号と等しくないかどうかをテストします。
少なくとも1つのダイスがラウンドナンバーと等しくないかどうかをテストする第3の "else if"。
第4番目は、丸数字に等しいサイコロをテストすることです。
注:単にテスト文にprintfする
しかし、今ではプログラムは4つを与えます。私はそれを修正し、このコードをより良く書くことができますか?
int dice1=1, dice2=1, dice3=1, round=3, point=0;
if( (dice1 == dice2) && (dice2 == dice3) && (dice1 == dice3) && (dice1 == round)) printf("1");
else if( (dice1 == dice2) && (dice2 == dice3) && (dice1 == dice3) && (dice1 == round)) printf("2");
else if(dice1==round ? point++ : point || dice2==round ? point++ : point || dice3==round ? point++ : point) printf("3");
else printf("4");
あなたの最初の2つの条件が同一です。また、なぜ条件の内部で増分を実行しようとしていますか? – csmckelvey
申し訳ありませんが、サイコロです!=ラウンド – aaa
プログラミングに慣れていないことに感謝しますが、質問をする前にこれを見てみるべきです:http://stackoverflow.com/help/how-to-ask –