for()
{ 循环体可以套无数个for循环
}
比如:for()
{
for()
{
for()
{... ...这里面可以镶嵌无数个for循环}
}
}
也可以这样
for()
{
for()
{}
... ...
for()
{}
}
作用域 循环外面的变量/值可以用到循环里面赋值 循环里面不可以用到循环外面赋值
if也是 {}外面变量/值可以用到里面赋值 {}里面的变量不可以到外面赋值
打三角形
图一
★
★★
★★★
★★★★
★★★★★
for (int i = 1; i <= 5; i++)
{
for(int j=1;j<=i;j++) 每行要循环多少次
{Console.Write("★");}
Console.WriteLine(); j循环完了 自动换行
}
Console.ReadLine();
图二
★★★★★
★★★★
★★★
★★
★
for (int i = 1; i <= 5; i++)
{
for(int j=1;j<=6-i;j++)
{Console.Write("★");}
Console.WriteLine();
}
Console.ReadLine();
图三
★
★★
★★★
★★★★
★★★★★
思路:就是把左边上部分当成第二张图的三角形 就是把★改成空格
for (int i = 1; i <= 5; i++)
{
for(int j=1;j<=5-i;j++)
{Console.Write(" ");}
for (int k = 1; k <= i; k++)
{ Console.Write("★"); }
Console.WriteLine();
}
Console.ReadLine();
显示是
图四
★★★★★
★★★★
★★★
★★
★
思路和上面的一样
for (int i = 1; i <= 5; i++)
{
for(int j=1;j<=i-1;j++)
{Console.Write(" ");}
for (int k = 1; k <=6-i; k++)
{ Console.Write("★"); }
Console.WriteLine();
}
Console.ReadLine();
显示是
图五
★
★★★
★★★★★
★★★★★★★
★★★★★★★★★
思路是 左边直三角形(和图2类似)加三角形 (个数是2*行数-1)
for (int i = 1; i <= 5; i++)
{
for(int j=1;j<=5-i;j++)
{Console.Write(" ");}
for (int k = 1; k <=2*i-1; k++)
{ Console.Write("★"); }
Console.WriteLine();
}
Console.ReadLine();
显示是
图六
★★★★★★★★★
★★★★★★★
★★★★★
★★★
★
思路是 先空白处 在计算星星 每行的星星10-2*行数+1
for (int i = 1; i <= 5; i++)
{
for(int j=1;j<i;j++)
{Console.Write(" ");}
for (int k = 1; k <=10-2*i+1; k++)
{ Console.Write("★"); }
Console.WriteLine();
}
Console.ReadLine();
显示是
图七
★
★★★
★★★★★
★★★★★★★
★★★★★★★★★
★★★★★★★
★★★★★
★★★
★
思路是 先打上半部分再打下半部分
for (int i = 1; i <= 9; i++) { if (i <= 5) { for (int j = 1; j <= 5 - i; j++) { Console.Write(" "); } for (int k = 1; k <= 2 * i - 1; k++) { Console.Write("★"); } } 上半部分的内容 else { for (int j = 1; j <=i-5; j++) { Console.Write(" "); } for (int k = 1; k <=19-2*i; k++) { Console.Write("★"); } } 下半部分的内容 Console.WriteLine(); } Console.ReadLine();
练习题:
请用户输入一个奇数,用奇数打出一个菱形
自己认真做一个