谁能帮我找出我在这个问题上的错误?谢谢
Posted
技术标签:
【中文标题】谁能帮我找出我在这个问题上的错误?谢谢【英文标题】:Could anyone help me to find my mistake in this problem? Thank you 【发布时间】:2021-12-28 11:56:15 【问题描述】:条件:1.训练
一列火车有 n 数量的货车(整数,作为输入接收)。在接下来的
n
行中,您将收到每辆马车上的人数。打印出每节车厢的乘客人数,然后是火车上的总乘客人数。
示例:
Input Output
3
13
24
8 13 24 8
45
6
3
52
71
13
65
4 3 52 71 13 65 4
208
1
100 100
100
我的代码:
using System;
using System.Linq;
namespace Arrays___Exercise
class Program
static void Main(string[] args)
int n = int.Parse(Console.ReadLine());
int[] wagons = new int[n];
int p = 0;
for (int i = 0; i < wagons.Length; i++)
wagons[i] = int.Parse(Console.ReadLine());
p += wagons[i];
Console.WriteLine(p);
【问题讨论】:
@zaggler "Arrays___Exercise" 但是:数组第 1 课:避免使用 Listfor
循环
OP 应该在 for 循环的空行中添加 Console.Write(wagons[i] + " ");
。
【参考方案1】:
这显然是功课,我自己也做了很多功课,所以我不会完全做。但我不介意提供一些提示
一切看起来都不错,只是您需要一个循环来遍历您的 wagons
并打印出每个货车的人口:
for (int i = 0; i < wagons.Length; i++)
wagons[i] = int.Parse(Console.ReadLine());
p += wagons[i];
*** PUT A LOOP IN HERE TO PRINT THE CONTENTS OF THE WAGONS ***
Console.WriteLine(p);
您可以使用与前一个循环完全相同的 for 循环,该循环也循环在 wagons
上。
如果您不希望输出进入下一行,可以使用 Console.Write
代替 WriteLine
您可以单独使用Console.WriteLine()
(括号中不带任何内容)移动到新行而不打印任何内容
打印每个货车内容,并在其后加一个空格,例如`Console.Write(wagon[i] + " ");
您可能会看到它并说“哦,这两个循环本质上是相同的,我只是将写入放在前面的循环中”,但是如果您尝试读取和写入,则会导致输出混乱在同一个循环中
完成一个非常基本的输出后,您可能想稍微改进一下,画一些 ascii 艺术火车或其他东西;)
OO O o o o... ______________ ______________ ______________
O ____ | | | | | |
][_n_i_| ( ooo___ | 13 | | 24 | | 8 | = 45
(__________|_[______]_|______________|_|______________|_|______________|
0--0--0 0 0 0 0 0 0 0 0
好吧,也许没有那么复杂,但实际上并没有那么困难.. 这只是重复使用 Console.Write 来输出固定的文本块,偶尔会带有可变数字。如果引擎的行在一个阵列中,马车的行在另一个阵列中,它只是使用循环打印引擎的顶行,然后是 N 个车厢的顶行,然后是引擎的下一行,然后下一行N个carraiges..
..到最后你会厌倦循环和数组:D
【讨论】:
以上是关于谁能帮我找出我在这个问题上的错误?谢谢的主要内容,如果未能解决你的问题,请参考以下文章
当我运行heroku ps:scale web = 1命令我收到此错误。谁能帮我这个