使用嵌套for循环迭代3的倍数

时间:2013-12-08 22:28:54

标签: c#

我有一个嵌套的for循环,其中'j'代表行号,'i'代表3的倍数低于1000。

我希望它显示行号然后显示倍数。例如:

1 3
2 6
3 9
4 12
...
333 999

直到多个999

但它只是显示正确的行号并且倍数保持循环直到行号达到999

Console.BufferHeight = 4000;
for (int j = 1; j < 1000; j++)
{
    for (int i = 3; i < 1000; i++)
    {
        Console.WriteLine(j + " " + i);                   
    }      
}
Console.ReadLine();

5 个答案:

答案 0 :(得分:6)

for (int i = 1, j = 3; j < 1000; i++, j += 3)
{
    Console.WriteLine(string.Format("{0} - {1}", i.ToString(), j.ToString()));
}

它将从

开始打印
1 - 3
2 - 6

直到

332 - 996
333 - 999

答案 1 :(得分:4)

你真的需要嵌套循环来解决这个问题吗?如果我理解你的权利,那么一个就足够了。

Console.BufferHeight = 4000;
for (int j = 1; j < 1000; j++)
{
     Console.WriteLine(j + " " + (j * 3));                         
}
Console.ReadLine();

答案 2 :(得分:1)

您不需要嵌套循环。您可以使用以下代码。

Console.BufferHeight = 4000;
for (int j = 1; j < 1000; j++)
{
    Console.WriteLine(j + " " + j*3);      
}
Console.ReadLine();

答案 3 :(得分:0)

你只是想做这样的事情,还是我完全忽略了这一点?

for (int i = 1; i < 1000; i++)
{
    Console.WriteLine(string.Format("{0}: {1}", i, (i * 3)));
}

答案 4 :(得分:0)

好吧,你在从j = 1到j = 999的循环中从i = 3循环到i = 999.这将导致在控制台上写入995,004行。

你想要这样的东西:

for( int i = 1; i <= 1000; ++i )
{
   Console.WriteLine( "{0} {1}", i, i * 3 );
}