元問題は回答にC++を要求してたけれどJavaScriptで回答します。要領は同じだと信じて。
こういうコード考えてると止まらなくなりますよね。
■学習進度的に想定していると思われる答え <script> //初期値 var A=10,B=20,C=0; //処理 if(A>B){ //A>B if(A>C){ //A>B,A>C document.write("一番数字が大きい変数はA : "+A); }else{ //C>A>B document.write("一番数字が大きい変数はC : "+C); } }else{ //B>A if(B>C){ //B>A,B>C document.write("一番数字が大きい変数はB : "+B); }else{ //C>B>A document.write("一番数字が大きい変数はC : "+C); } } </script> 可読性悪い
■配列に入れる <script> //初期値 var A=10,B=20,C=0; var most=["",0]; //処理 if(A>most[1]){most[0]="A"; most[1]=A;} if(B>most[1]){most[0]="B"; most[1]=B;} if(C>most[1]){most[0]="C"; most[1]=C;} document.write("一番数字が大きい変数は"+most[0]+" : "+most[1]); </script>
■for文の中でABCをASCIIコードで <script> // 初期値 var A=10,B=20,C=0; var most=["",0]; // 処理 for(var i=65; i<=67; i++) { //ASCIIコード65〜67は'A'~'C' var alp=String.fromCharCode(i); var alpVal=eval(alp); if (alpVal>most[1]) {most[0]=alp,most[1]=alpVal;} } document.write("一番数字が大きい変数は"+most[0]+" : "+most[1]); </script>
■if分の条件式にAND <script> //初期値 var A=10,B=20,C=0; //処理 if(A>B && A>C)document.write("一番数字が大きい変数はA : "+A); if(B>A && B>C)document.write("一番数字が大きい変数はB : "+B); if(C>A && C>B)document.write("一番数字が大きい変数はC : "+C); </script>
アルファベットの変数がより多くなる場合はfor文の中でASCIIコードを回すのが一番保守性と可読性高いですね。まあeval使っちゃってるけれども。
■JavaScript的回答 <script> let variables={A:10, B:20, C:0}; let maxVar=Object.keys(variables).reduce((a, b) => variables[a] > variables[b] ? a : b); console.log(`一番数字が大きい変数は${maxVar} : ${variables[maxVar]}`); </script>