C# 使用for循环打印三角形星形
我需要用C语言打印这种样式的东西# 我该怎么做呢 到目前为止,我得到了以下代码,但它以另一种方式打印,并减少了一颗星C# 使用for循环打印三角形星形,c#,for-loop,C#,For Loop,我需要用C语言打印这种样式的东西# 我该怎么做呢 到目前为止,我得到了以下代码,但它以另一种方式打印,并减少了一颗星 int number = 5; int i, j, k; for (i = 1; i <= number; i++) { for (j = 1; j <= number - i; j++) { Console.Write(""); } for (k = 1; k <= i;
int number = 5;
int i, j, k;
for (i = 1; i <= number; i++)
{
for (j = 1; j <= number - i; j++)
{
Console.Write("");
}
for (k = 1; k <= i; k++)
{
Console.Write("*");
}
Console.WriteLine("");
}
int number=5;
int i,j,k;
对于(i=1;i请尝试以下代码:
int number = 5;
for (int i = number; i >= 1; i -= 2)
{
string spaces = new String(' ', (number - i) / 2);
Console.WriteLine(spaces + new String('*', i) + spaces);
}
主要思想是通过使用构造函数消除内部循环。如果要从用户处获取输入,请尝试以下操作:
int number;
int i, j, k;
if (int.TryParse(Console.ReadLine(), out number))
{
for (i = 0; i < number; i++)
{
int numberOfSpaces = i;
int numberOfStars = (number * 2 - 1) - (2 * numberOfSpaces);
for (j = 1; j <= numberOfSpaces; j++)
{
Console.Write(" ");
}
for (k = 1; k <= numberOfStars; k++)
{
Console.Write("*");
}
Console.WriteLine("");
}
}
else
{
Console.WriteLine("No number entered.");
}
Console.Read();
整数;
int i,j,k;
if(int.TryParse(Console.ReadLine(),out number))
{
对于(i=0;i使用系统;
命名空间控制台应用程序1
{
公共枚举形状{
广场
三角形
}
班级计划
{
静态void Main(字符串[]参数)
{
对于(int i=0;i<20;i++)
{
对于(int j=0;j<20;j++)
{
控制台。设置光标位置(j,i);
if(IsInShape(shape.square,i,j))
{
控制台。写(“*”);
}
}
}
Console.ReadLine();
}
公共静态布尔IsInShape(形状s,内部i,内部j)
{
如果(s==shape.square)
{
返回((数学功率((i-7),2)+数学功率((j-7),2))0&&j+i<6);
}
}
}
}
圆形
伙计们试试这个
using System;
namespace Fan
{
class Program
{
static void Main(string[] args)
{
int circle_radius = 6;
double console_ratio = Convert.ToDouble(4.0 / 2.0);
double a = console_ratio * circle_radius;
double b = circle_radius;
for (int y = -circle_radius; y <= circle_radius; y++)
{
for (double x = -console_ratio * circle_radius; x <= console_ratio * circle_radius; x++)
{
double d = (x / a) * (x / a) + (y / b) * (y / b);
if (d > 0.90 && d < 1.2)
{
Console.Write("*");
}
else
{
Console.Write(" ");
}
}
Console.Write("\n");
}
Console.Read();
}
}
}
使用系统;
名称空间风扇
{
班级计划
{
静态void Main(字符串[]参数)
{
int圆_半径=6;
双控制台比例=转换为双控制台(4.0/2.0);
双a=操纵台的比例*圆的半径;
双b=圆的半径;
对于(int y=-圆半径;y代码:
int index = 20;
for (int i = 0; i < 20; i++)
{
for (int k = 0; k < 20 - index; k++)
{
Console.Write(" ");
}
for (int j = 0; j < index; j++)
{
Console.Write("*");
}
for (int k = 0; k < index; k++)
{
Console.Write("*");
}
index--;
Console.WriteLine();
}
Console.ReadLine();
int索引=20;
对于(int i=0;i<20;i++)
{
对于(int k=0;k<20-索引;k++)
{
控制台。写(“”);
}
对于(int j=0;j
输出图像:
虽然这不能解决您的问题,但您应该使用空格,而不是像Console.Write(“”)这样的空字符串
您的输出只需要奇数个星号。您的代码打印所有星号。您的输出与代码的方向相反。您需要了解代码正在执行的操作。Console.WriteLine(“*********\n***\n*”)
不需要循环我的天啊,你真是个天才!!如果你能找到一种方法来实现它,那会是一个更好的答案。我也可以用1个循环来完成,非常热情!不幸的是,我认为最好的答案消除了额外的循环。尽管一个粗鲁的人可能会考虑字符串构造函数是否隐藏了一个循环,但我还是看了一看里面的循环structor。您可以从中获得奖励,因为a)您只需要为该字符串分配一次内存,b)循环使用指针将计算分为4块。请参阅System.StringCharCount中的CtorCharCount。问题的标题明确指出,练习的重点是使用进行循环。这显然是在学习编码,而不是在寻找将星号打印到控制台的最有效方法的人!谢谢这是一个******我运行了代码,它似乎产生了你想要的结果,它对你有用吗?我真正想做的是,当用户输入一个值时,它将打印该行数。例如,如果用户输入1,它将只打印一行*如果用户输入3,它将打印******如果用户输入4,它将像那样打印***************。好的,我将更新我的答案以包括输入多行的选项。如果有帮助,请将其标记为答案!
using System;
namespace Fan
{
class Program
{
static void Main(string[] args)
{
int circle_radius = 6;
double console_ratio = Convert.ToDouble(4.0 / 2.0);
double a = console_ratio * circle_radius;
double b = circle_radius;
for (int y = -circle_radius; y <= circle_radius; y++)
{
for (double x = -console_ratio * circle_radius; x <= console_ratio * circle_radius; x++)
{
double d = (x / a) * (x / a) + (y / b) * (y / b);
if (d > 0.90 && d < 1.2)
{
Console.Write("*");
}
else
{
Console.Write(" ");
}
}
Console.Write("\n");
}
Console.Read();
}
}
}
int index = 20;
for (int i = 0; i < 20; i++)
{
for (int k = 0; k < 20 - index; k++)
{
Console.Write(" ");
}
for (int j = 0; j < index; j++)
{
Console.Write("*");
}
for (int k = 0; k < index; k++)
{
Console.Write("*");
}
index--;
Console.WriteLine();
}
Console.ReadLine();