私は入力 元のC#の3に異なる番号を合計しようとしています:私はそれを合計するサミングN番号A1 + A4 + A7
N番号はコンソール
a1: 3
a2: 5
a3: 6
a4:-3
a5: 5
で書かれていますA1 + A4 + A7
(ある場合はA7
)など。
私はC#の初心者ですが、書き込まれる数字の数がわからないときは、数字を保存する方法を見つけることができませんでした。
私は入力 元のC#の3に異なる番号を合計しようとしています:私はそれを合計するサミングN番号A1 + A4 + A7
N番号はコンソール
a1: 3
a2: 5
a3: 6
a4:-3
a5: 5
で書かれていますA1 + A4 + A7
(ある場合はA7
)など。
私はC#の初心者ですが、書き込まれる数字の数がわからないときは、数字を保存する方法を見つけることができませんでした。
あなたは、動的なコレクション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];
}
}
のような動的記憶域タイプを使うようにしてください。ループカウンターを3だけインクリメントする場合、 'if'ステートメントは必要ありません。私。 'i + = 3'。 –
要素の未知の番号を格納するためには、コレクション、例えばリストを使用する必要があります。
ここで、コンソールに数字を入力する方法に応じて、各行に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
にそれらのすべてを格納しないことがあり
:
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);
ユーザーが
空行を入力するまで、このコードは、各三行をまとめ**正確** 1を選択してくださいプログラミング言語を使用して、その言語で[mcve]を生成します。 –
問題が明確に明確にされていません。ユーザは、行を入力する前に番号「N」を入力する必要があるか、入力が終了したことを示す方法(例えば、空の行)が必要です。既存のコードを投稿してください。それ以外の場合は、あなたが固執している部分を伝えるのは難しいです。 – Groo
ヒント: 'List' –
ClickRick