c#中的数字阶梯和横向金字塔
本文关键字:横向 金字塔 数字 | 更新日期: 2023-09-27 18:10:52
我必须编写一个c#控制台应用程序,当给定一个数字作为"高度"时打印如下所示的数字阶梯:
1 12123年1234年
以及在给定时打印的第二个程序,将height设为5:
1 12123年1234年12345年1234年 121
我不知道从哪里开始,我知道我应该使用循环,但因为这是我的第二个c#类,我有点迷路了。澄清一下,我不是让别人帮我做作业,但我希望你能给我点建议。编辑:到目前为止,我已经完成了第一个任务:
int altura; string space = "";
Console.WriteLine("Dar altura: ");
altura = int.Parse(Console.ReadLine());
for (int i = 1; i <= altura; i++)
{
for (int j = 1; j <= i; j++)
{
space = "";
space = space + Convert.ToString(j);
}
Console.WriteLine(space);
}
Console.ReadLine();
现在它工作了。但我还是不知道怎么让它循环回去。编辑2:它现在都工作了!!非常感谢大家!
编辑# 3所以很抱歉问,但如果我想让它打印:
1
121
12321
1234321
当我的高度是4时,我应该修改第二个循环,对吗?
您忘记在每行重置space
int altura;
Console.WriteLine("Dar altura: ");
altura = int.Parse(Console.ReadLine());
for (int i = 1; i <= altura; i++)
{
string space = "";
for (int j = 1; j <= i; j++)
{
space = space + Convert.ToString(j);
}
Console.WriteLine(space);
}
Console.ReadLine();
然后添加另一个双循环,将i
从alture-1
计数到1
for (int i = altura-1; i >= 1; i--)
{
...
}
for (c# Reference)将是一个很好的起点。
要解决这个问题,需要使用两个循环。一个嵌入另一个
你的第一个循环应该从1运行到5,变量说'i'从1开始,到5结束,加1
第二个/内循环应该从1开始运行,直到外循环的'i'值。假设变量'j'从1…到'i'的值增加1。在这个循环中,你只是打印j的值,在循环结束时打印新行''n'。
好运我给你第一个作业的答案:
for(int i=1;i<=height;i++)
{
Console.Write(''n');
for(int j=1;j<=i;j++)
{
Console.Write(j);
}
}
这将给你第一部分的数字金字塔。在此基础上,你可以设计第二次作业的答案。(提示:使用第二个循环将变量减少为1)
试着从一个方法开始,因为我猜这就是你需要写的。
public static void PrintNumberLadder (int height) {
//your code here...
}
你还需要一个变量来存储下一个要打印的数字。也许printNext
是个好名字。现在你需要爬梯子达到height
的次数。使用for循环:
for (int i = 0 ; i < height ; i++) {
//code...
}
该循环的每次迭代将打印新行。现在还记得printNext
变量吗?将其初始化为1。这就是你想要的起点,对吧?现在我们需要考虑如何打印每一行。让我们使用另一个循环!这次我们想打印printNext
的次数。哦,你突然想起printNext
必须在每次打印新行时递增。现在代码看起来像这样:
for (int i = 0 ; i < height ; i++, printNext++) {//See? here is how you increment printNext
for (int j = 0 ; j < printNext ; j++) {
}
Console.WriteLine(); //starts a new line
}
现在你应该在内循环中做什么?你猜对了
Console.Write (j + 1);
等一下,为什么是Write
而不是WriteLine
,为什么是j + 1
?我们使用Write
来确保打印的东西不会转到下一行。如果您使用WriteLine
,它将是这样的:
我们用j + 1因为j从0开始。但你的阶梯从1开始;
现在你怎么下梯子?我给你个提示。使用String
类中的Substring
方法。创建一个变量来存储将要打印的字符串