【问题标题】:nested for loops to show output clearly segregated from input嵌套 for 循环以显示输出与输入清晰分离
【发布时间】:2011-12-10 15:43:25
【问题描述】:

以下代码使用 for 循环打印用户输入的五个数字。我希望程序通过一串点将输出与输入分开。

using System;

class abc
{
    public static void Main(string[]args)        
    {
        int i, j;
        string[]tele = new string[5];
        Console.WriteLine("Enter Five Numbers. Program Will Reproduce Them.");

        for(i=0; i<=4; i++)  // i is for accepting numbers
        {
            tele[i]  = Console.ReadLine();
        }

        for(j=0;j<=4;j++)  // j is for reproducing them
        {  
            Console.WriteLine(tele[j]);
        }

        Console.WriteLine(".......................");
        Console.ReadLine();
    }     
 }

我一直试图将输入数字与程序用点串打印出来的输出分开:为此,代码行Console.WriteLine("......................."); 引用。在这个位置,它在所有五个数字都重新打印后将虚线放在末尾。我确实尝试在 j 循环开始之前通过移动此代码行来操纵程序,但这并没有帮助。我正在努力获得如下所示的显示。

输入五个数字。程序将重现它们。
123
456
789
234
345
.....................
123
456
789
234
345

我要求简要说明将代码行放置在产生所需输出的位置的逻辑。

【问题讨论】:

  • 这是作业吗?如果是这样,您应该适当地标记问题。
  • 这些 for 循环没有嵌套。
  • 附带说明,我认为从0 迭代并同时使用&lt;= 通常会令人困惑。要么从0 开始并使用&lt; (for (int i = 0; i &lt; 5; i++)),要么从1 开始并使用&lt;= (for (int i = 1; i &lt;= 5; i++))。

标签: c#


【解决方案1】:

您只需移动Console.WriteLine() 语句。我建议您以后使用调试器逐步执行代码。

        for (i = 0; i <= 4; i++)  // i is for accepting numbers 
        {
            tele[i] = Console.ReadLine();
        }

        Console.WriteLine(".......................");

        for (j = 0; j <= 4; j++)  // j is for reproducing them 
        {
            Console.WriteLine(tele[j]);
        }

【讨论】:

  • 将尝试使用调试器。我想知道它是否会抛出错误消息,因为代码无论如何都在运行:出现在不需要的位置的虚线可能不会被检测为错误。我可以请您向我澄清为什么此代码行在此工作的逻辑。我是一个绝对的初学者。感谢您的指正。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-04
  • 1970-01-01
  • 2019-07-12
相关资源
最近更新 更多