您的位置:首页 > 编程语言 > C#

C#基础-021 利用for循环打印图形

2017-08-28 09:06 211 查看
namespace 打印图形
{
class Program
{
static void Main(string[] args)
{

// *    *
// *    **
// *    ***
// *    ****
// *    *****
// *    ******
// */
Console.WriteLine("************1号图形***************");
////外层循环控制的是行数
int lines = 4;  //要打印图形的行数
for (int i = 0; i < lines; i++)
{
//内层循环控制的是列数
//内层循环控制是每行打印的内容及个数
//每一行打印的列数不一样,取决于行与列之间关系
//如果是:
//*  *
//*  ***
//*  *****
//*  *******
//*  *********
//则应该是j=2*i-1,故外层执行一次,内层应该执行2*i-1次,需要细细体会
for (int j = 0; j <= i; j++)
{
Console.Write("+");
}
Console.WriteLine();
}
///*
// * *******
// * ******
// * *****
// * ****
// * ***
// * **
// * *
// */
Console.WriteLine("************2号图形***************");
lines = 3;
//外层循环控制行数
for (int i = 0; i < lines; i++)
{
//内层循环控制列数
for (int j = 0; j < lines - i; j++)
{
//在本行没有打印完的时候不能换行
Console.Write("*");
}
//内层循环结束  说明整行的内容已经打印完毕  可以换行
Console.WriteLine();
}

Console.WriteLine("*********3号图形**************");
///*         *
// *        **
// *       ***
// *      ****
// *     *****
// */

lines = 5;
//外层循环控制的是行数
for (int i = 0; i < lines; i++)
{
//内层循环控制的是内容或者是列数

//第二步  打印看不见的部分
//控制的是行中的空格部分
for (int k = 0; k < lines - i - 1; k++)
{
Console.Write(" ");
}
//第一步先打印看得见的部分
//控制是行中*部分
for (int j = 0; j <= i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}

///*
// *  *******
// *   ******
// *    *****
// *     ****
// *      ***
// *       **
// *        *
// *    先打印
// *  *******
// *  ******
// *  *****
// *  ****
// *  ***
// *  **
// *  *
Console.WriteLine("*************4号图形*************");
lines = 7;
for (int i = 0; i < lines; i++)
{
for (int k = 0; k < i; k++)
{
Console.Write(" ");
}
//内层循环控制列数
for (int j = 0; j < lines - i; j++)
{
//在本行没有打印完的时候不能换行
Console.Write("*");
}
Console.WriteLine();
}
/*
*         *
*        ***
*       *****
*      *******
*     *********
*      先打印
*      *********
*      *******
*      *****
*      ***
*      *
*/

//每行都打印奇数个*
//第一种方式
for (int i = 1; i < 10; i++)
{
if (i % 2 == 1)
{
for (int j = 0; j < i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
lines = 5;
for (int i = 0; i < lines; i++)
{

//内层循环控制列数
for (int j = 0; j < lines - i-1; j++)
{
//在本行没有打印完的时候不能换行
Console.Write(" ");
}
for (int j = 0; j < 2*i+1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine("**************6号图形**************");
/*
*  *********
*   *******
*    *****
*     ***
*      *
*
*
*      先打印
*      *********
*      *******
*      *****
*      ***
*      *
// */
//int lines = 5;
for (int i = 0; i < lines; i++)
{
for (int k = 0; k < i; k++)
{
Console.Write(" ");
}

for (int j = 0; j < 2 * (lines - i) - 1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图形 c#