在c#中创建一个平行四边形
本文关键字:一个 平行四边形 创建 | 更新日期: 2023-09-27 18:27:49
我的目标是制作一个带有"do-while"循环的平行四边形。它需要像用户所说的那样长和宽
Baisically如果用户说边应该是5,结果必须是这样的:
*****
****
********
**
我想到的是这个代码,它将不幸地给我所需要的所有星星中的第一排。
Console.Write("How long should the side of this parallelogram be? ");
string input = Console.ReadLine();
int side = Convert.ToInt32(input);
int j = 0;
int l = 0;
do
{
if (j < side){
Console.Write("*");
j++;
}
if (j >= side){
Console.Write("'n");
l++;
}
}
while (l < side) ;
Console.ReadKey();
我相信这是一个相当简单的问题,但我是一个大时代的程序员新手,我不知道还能尝试什么。任何帮助都将不胜感激。
实现2D结构最容易理解的方法是使用2个嵌套循环。一个循环创建该行的每个*
,另一个循环重复这些行。
为此,我发现这比do/while
循环更可读。
for (int j = 0; j < side; j++)
{
for (int i = 0; i < side; i++)
{
Console.Write("*");
}
Console.Write("'n");
}
顺便说一句,这是一个正方形。
以下是一个利用string
构造函数过载的较短版本:
string row = new string('*', side); //create a string containing 'side' repetitions of '*'
for (int i = 0; i < side; i++)
{
Console.WriteLine(row); //WriteLine will add the ''n' for you.
}
int side = Convert.ToInt32(input);
int j = 0;
int l = 0;
do
{
do
{
Console.Write("*");
j++;
}while(j< side);
j = 0;
Console.Write("'n");
l++;
}while(l < side);
完成一行后,必须重置i变量:
int i = 0, current_line = 0;
do
{
if (i < side)
{
Console.Write("*");
i++;
}
else
{
Console.Write("'n");
i = 0;
current_line++;
}
} while (current_line < side);
作为一个小小的通知,那是一个正方形;)