0

基本的な C# の質問: 数値を入力するときにその結果が必要です (この場合は 4 と入力されました):

4 3 2 1 0
3 2 1 0 4
2 1 0 4 3
1 0 4 3 2

私はそのコードを試していましたが、私の間違いを理解できません:

Console.WriteLine("Please write a Number: ");
Console.Write("Number: ");
int num = int.Parse(Console.ReadLine());
for (int i = 0; i <= num; i++)
{
    for (int j = num - i; j >= 0; j--)
    {
        Console.Write(j);
    }
    for (int j = 1; j <= i; j++)
    {
        Console.Write(j);
    }
    Console.WriteLine();
}
Console.ReadLine();

これは私が得る出力です:

4 3 2 1 0
3 2 1 0 1
2 1 0 1 2
1 0 1 2 3
0 1 2 3 4
4

6 に答える 6

0

正直なところ、これは古典的なソート作業です。「ユーザータイプとbla bla bla」の向こうに隠されているだけですが、学校ではそうだったことを覚えています..配列[4,3,2,1,0]があります..だから

  1. 1 と 2 を入れ替えて [3,4,2,1,0] を取得します。
  2. 2 と 3 を入れ替えて [3,2,4,1,0] を取得します。
  3. 3 と 4 を入れ替えて [3,2,1,4,0​​] を取得します。
  4. 4 と 5 を入れ替えて [3,2,1,0,4] を取得します。

シンプルなコードだけ

int[] numbersこの配列 [4,3,2,1,0] があるとしましょう

for(int i = 0; i < numbers.length - 2; i++){
    for(int y = 0; y < numbers.length - 1; y++){
        int buf = numbers[y];
        numbers[y] = numbers[y + 1];
        numbers[y + 1] = buf;
    }
}
于 2013-11-08T14:57:59.293 に答える