利用for循环打印等腰直角三角形
思路:采用双层for循环实现,外层for循环实现每一行空格的长度,内层for循环每一行星号的个数,等腰三角形的**是以1 3 5 7 9排列的等差数列*,由此我们可以得出一个内层循环k的变化幅度。
`//实现打印等腰三角形
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5 - i; j++)
{
//控制每一行的空格数量,注意这里不能使用WriteLine方法,否则会出现换行
Console.Write(" ");
}
//发现规律,控制1 3 5 排列
for (int k = 1; k <= 1 + (i - 1) * 2; k++)
{
Console.Write("*");
}
Console.Write("\n"); //打印每一行换行
}`
根据键盘输入的个数,利用for循环打印直角三角形
思路:首先键盘获取用户输入的数字,采用ReadLine()实现获取字符串,外层for循环控制有多少行,内层for循环控制每一行可以输出多少个的个数 `
``` Console.WriteLine("请输入要打印的行数");
//获取键盘输入的数字并将行数转化为int类型
int n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("*");
}
Console.Write("\n");
}`
注意点: ReadLine()和Read()ReadKey()三者之间的区别:
-
Read()是读取输入的一个字符,返回的是整型类型,返回输入字符的ASCLL码值;(输入一串字符,只会读取第一个字符)
-
ReadLine()则是读取输入的一行,返回的是字符串类型;
-
Console.ReadKey() 则是等待用户按下任意键,一次读入一个字符。
int num = Console.Read(); Console.WriteLine("Console.Read(){0}", num);`
输出ABC的时候,只会获取输入的第一个字符,并输出他对应的ASCll的值
而ReadLine()方法是读取输入的一行,可以接受用户输入的所有内容,返回的是字符串类型,所以往往我们需要整型数据的时候,我们需要将字符串类型转化为整型类型来提供我们使用
String str = Console.ReadLine();
Console.WriteLine("Console.ReadLine{0}", str);`
这时候输入ABC可以完全的接收结果
`String strKey = Console.ReadKey().Key.ToString(); //转化为String类型
Console.WriteLine("Console.ReadKey的值为:{0}", strKey);`
等待用户按下任意键,一次读入一个字符
注意点:ReadKey()是在按下任意一个键时就会关闭命令窗口,而ReadLine()是在当用户按下回车键是才会关闭命令窗口!虽然两者都会让命令窗口进行停留,但是也是各有千秋,运用时也需要按照我们的需求进行选取