2017-07-22 7 views
-2

私は入力 元のC#の3に異なる番号を合計しようとしています:私はそれを合計するサミングN番号A1 + A4 + A7

N番号はコンソール

a1: 3 
a2: 5 
a3: 6 
a4:-3 
a5: 5 

で書かれていますA1 + A4 + A7(ある場合はA7)など。

私はC#の初心者ですが、書き込まれる数字の数がわからないときは、数字を保存する方法を見つけることができませんでした。

+2

空行を入力するまで、このコードは、各三行をまとめ**正確** 1を選択してくださいプログラミング言語を使用して、その言語で[mcve]を生成します。 –

+0

問題が明確に明確にされていません。ユーザは、行を入力する前に番号「N」を入力する必要があるか、入力が終了したことを示す方法(例えば、空の行)が必要です。既存のコードを投稿してください。それ以外の場合は、あなたが固執している部分を伝えるのは難しいです。 – Groo

+1

ヒント: 'List ' – ClickRick

答えて

1

あなたは、動的なコレクションList<int>を使用してforループを繰り返すことがあります。

List<int> list = new List<int>(); 
list.Add(3); 
list.Add(5); 
list.Add(6); 
list.Add(-3); 
list.Add(5); 

int sum = 0; 
for (int i = 0; i < list.Count; i++) 
{ 
    if(i % 3 == 0) // sum every third number 
    { 
     sum += list[i]; 
    } 
} 
+0

のような動的記憶域タイプを使うようにしてください。ループカウンターを3だけインクリメントする場合、 'if'ステートメントは必要ありません。私。 'i + = 3'。 –

0

要素の未知の番号を格納するためには、コレクション、例えばリストを使用する必要があります。

ここで、コンソールに数字を入力する方法に応じて、各行に1つの数字を入力するか、すべての数字を1行に入力するか、2番目のケースのコード:

List<int> list = new List<int>(); 
string[] strings = Console.ReadLine().Split(); 
foreach (var number in strings) 
{ 
    list.Add(int.Parse(number)); 
} 

次に、必要な方法でリストに要素を追加する必要があります。あなたが行によってあなたの番号の行を読めば、あなたがListにそれらのすべてを格納しないことがあり

0

var lineNumber = 0; 
var sum = 0; 
while (true) 
{ 
    var line = Console.ReadLine(); 
    if (string.IsNullOrEmpty(line)) 
     break; 
    if (lineNumber++ % 3 == 0) 
     sum += int.Parse(line); 
} 
Console.WriteLine(sum); 

ユーザーが

関連する問題