2016-07-25 14 views
-5

私のプログラムは出力を生成していますが、生成されたものとは異なる出力が必要です。 6つの入力番号を送信する場合は、番号を比較して回答を生成する必要があります。 Iが出力され、代わりにこのように表示する必要が出力を1行に表示する方法

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 

class Solution 
{ 
    static void Main(String[] args) 
    { 
     string[] tokens_a0 = Console.ReadLine().Split(' '); 

     int a0 = Convert.ToInt32(tokens_a0[0]); 
     int a1 = Convert.ToInt32(tokens_a0[1]); 
     int a2 = Convert.ToInt32(tokens_a0[2]); 

     string[] tokens_b0 = Console.ReadLine().Split(' '); 

     int b0 = Convert.ToInt32(tokens_b0[0]); 
     int b1 = Convert.ToInt32(tokens_b0[1]); 
     int b2 = Convert.ToInt32(tokens_b0[2]); 

     if (a0 > b0 || a0 < b0) 
     { 
      Console.WriteLine(1); 
     } 
     if (a1 > b1 || a1 < b1) 
     { 
      Console.WriteLine(1); 
     } 
     if (a2 > b2 || a2 < b2) 
     { 
      Console.WriteLine(1); 
     } 
    } 
} 

上記のコードは、次の出力を生成して

このように出力を生成するコードを変更するにはどうすればよいですか?

+1

what loop ?! Console.WriteLineのマニュアルを読もうとしましたか?あなたが望むものを手に入れるための他の出力方法を探しましたか?あなた自身の問題を解決するために何か努力しましたか? – Jakotheshadows

+0

あなたの 'if'ステートメントは、ある数字が2番目の数字よりも大きいか小さいかをチェックしています。あなたが' if'ステートメントを短くすることができます。数字が代わりに等しくない場合。たとえば、if(a0> b0 || a0

+1

Console.WriteLine "指定されたデータの後ろに現在の行終端文字が続き、標準出力ストリームに書き込みます。つまり、指定されたテキストをコンソールの新しい行に書き込みます。したがって、出力は複数のステートメントで同じ行にあることはできません。単一のステートメントが唯一の方法です。 @Sylveracが述べたように、あなたのコードは非効率的です。 –

答えて

4

Console.WriteLine名前のとおり、メッセージを書き、その後に改行します。

あなたの出力は、同じ行になりたい場合は、あなたがConsole.Writeを使用する必要があります。

if (a0 > b0 || a0 < b0) 
{ 
    Console.Write(1 + " "); 
} 
if (a1 > b1 || a1 < b1) 
{ 
    Console.Write(1 + " "); 
} 
if (a2 > b2 || a2 < b2) 
{ 
    Console.Write(1 + " "); 
} 
1

あなたが代わります。Console.WriteLine(の空白文字と一緒にConsole.Write()を使用します)。

if (a0 > b0 || a0 < b0) 
    { 
    Console.Write(1 + " "); 
} 
if (a1 > b1 || a1 < b1) 
{ 
    Console.Write(1 + " "); 
} 
if (a2 > b2 || a2 < b2) 
{ 
    Console.Write(1 + " "); 
} 

WriteLine()は出力されたテキストの後に改行を挿入します。

Console.WriteLine()およびhereの情報については、のドキュメントを参照してください。

1

他の回答はConsole.Writeを示唆しており、すべて正しいです。私は、あなたが探している結果を作り出す別の方法を追加して、最終的な出力をもっとコントロールできるようにしたいと思っています。

 string message = ""; 
     if (a0 > b0 || a0 < b0) 
     { 
      message += "1"; 
     } 
     if (a1 > b1 || a1 < b1) 
     { 
      message += "1"; 
     } 
     if (a2 > b2 || a2 < b2) 
     { 
      message += "1"; 
     } 
     //make any further modifications to the result here, if needed 
     Console.WriteLine(message); 
関連する問題