需要一些家庭作业帮助
开发一个C#控制台应用程序,它分别显示两(2)个以下模式,一个在另一个之下。使用for循环(提示:嵌套)来生成模式。所有星号都应该由Console.Write(“*”)形式的单个语句显示;它显示星号,直到示例中显示的数字值。 Console.WriteLine()形式的声明;可以用来移动到下一行。依次记下每个数字的顺序。请记住,这是两组独立的循环,用于生成这两种模式。您将需要推断出数字的计算方式(它们是计算的结果)以及计算将放在循环结构中的位置。您可能无法将显示的数字硬编码到循环中。
尝试获得以下模式,但我的代码得到了正确的数字和间距,但没有最后的数字与数字的怀疑数量。我需要结合我的写陈述吗?我应该有一个使用计数器整数的公式)任何帮助表示赞赏。
*2
**4
***6
****8
*****10
******12
*******14
********16
*********18
**********20
**********20
*********18
********16
*******14
******12
*****10
****8
***6
**4
*2
using System;
{
public class Program
{
const string STAR = "*";
const string SPACE = " ";
const int COUNTER = 10;
static void Main(string[] args)
{
firsthalf();
Console.ReadLine();
}
static public void firsthalf()
{
for (int r = 0; r < COUNTER; r++)
{
for (int c = 0; c <= r; c++)
{
Console.Write(STAR);
Console.Write("{0}", (r + 1) * 2);
}
Console.WriteLine();
}
}
}
}
答案 0 :(得分:0)
将数字Console.Write("{0}", (r + 1) * 2);
的print语句放在第二个循环之外
for (int r = 0; r < COUNTER; r++)
{
for (int c = 0; c <= r; c++)
Console.Write(STAR);
Console.WriteLine("{0}", (r + 1) * 2);
}
答案 1 :(得分:0)
class Program
{
static void Main(string[] args)
{
f(1, 5, ascending: true);
f(1, 10, ascending: false);
Console.ReadLine();
}
private static void f(int start, int count, bool ascending)
{
var indices = Enumerable.Range(start, count);
if (!ascending) indices = indices.Reverse();
foreach (int index in indices)
{
for (int i = 1; i <= index; i++)
{
Console.Write("*");
}
Console.WriteLine(2 * index);
}
}
}
答案 2 :(得分:0)
using System;
namespace SOFAcrobatics
{
public static class Launcher
{
public static void Main ()
{
Int32 n = 0;
Boolean locker = false;
for (Int32 i = 2 ; i <= 38 ; i+= 2)
{
n = ((i > 20) ? (40 - i) : i);
if (n == 20 && !locker)
{
locker = true;
i -= 2;
}
for (Int32 j = 1; j <= (n / 2); j++)
{
Console.Write('*');
}
Console.WriteLine(n);
}
Console.ReadKey(true);
}
}
}
答案 3 :(得分:0)
得到几个答案的组合,我真的很感激帮助。
using System;
public class Program
{
const string STAR = "*";
const string SPACE = " ";
const int COUNTER = 10;
public static void Main(string[] args)
{
firsthalf();
sechalf();
Console.ReadLine();
}
static public void firsthalf()
{
for (int r = 0; r < COUNTER; r++)
{
for (int c = 0; c <= r; c++)
Console.Write(STAR);
Console.WriteLine("{0}", (r + 1) * 2);
}
Console.WriteLine();
}
static public void sechalf()
{
for (int r = COUNTER; r > 0; r--)
{
for (int c = 0; c < r; c++)
Console.Write(STAR);
Console.WriteLine("{0}", (r + 0) * 2);
//Console.WriteLine();
}
Console.WriteLine();
}
}