私はHackerRankを使用しています。これはパラメータにそれぞれ4つの数字(3、4、6、5)を入力しています。プログラムは6(b)の代わりに3(a)を出力し、どこが間違っているのか分かりません。C++がif文で間違った整数を返しています
#include <iostream>
#include <cstdio>
using namespace std;
int max_of_four(int a, int b, int c, int d) {
if ((a > b) && (a > c) && (a > d)) {
return a;
}
if ((b > a) && (b > c) && (b > d)) {
return a;
}
if ((c > b) && (c > a) && (c > d)) {
return a;
}
else {
return d;
}
}
int main() {
int a, b, c, d;
scanf("%d %d %d %d", &a, &b, &c, &d);
int ans = max_of_four(a, b, c, d);
printf("%d", ans);
return 0;
}
ここでオンラインのコードジャッジエンジンに関する質問は控えてください。テストケースからどこに失敗したのかは誰にも分かりませんが、これは通常は公開されていないためです。テストしたものがあなたのローカル環境で実行されていたとしても、オンラインチャレンジに適用されるいくつかのエッジケースをテストすることができなかったかもしれません。創造的で見つけよう。さらに、オンラインコンテストを不正行為すること以外にも、長期的にそのような質問の価値はないと考えられ、何も学ばれていません。 –
_if文の中でかっこを省略することができます。http://www.difranco.net/compsci/C_Operator_Precedence_Table.htm – PinaGamer
@PinaGamer括弧は、式がより離散的になると思います。それは間違っていません。 –