for循环的基本格式
for(表达式1;表达式2;表达式3)
{
循环体;
}
for循环的四要素
表达式1就是变量初始化;表达式2就是循环条件;表达式3是状态改变
1 static void Main(string[] args) 2 { 3 // 1、让用户输入一个100以内的数 4 //打印1-100之间所有的数 5 6 for ( int numb = 0; numb <100; numb++) 7 { 8 9 numb++; 10 11 Console.WriteLine(numb); 12 13 14 } 15 Console.ReadLine(); 16 }
这就是一个简单的循环;它的打印结果是把100以内的数列举出来
里面的红色部分就是循环四要素;
接下来说一下循环嵌套:循环嵌套就是再一个循环里面再放一个循环,也就是说如果每一个循环都循环10次,那么第一个循环是1的时候,嵌套的循环会循环十次。也就是10*10的效果。
for 循环语句 主要还是逻辑思维的联系为主,先放练习;
○○○○★
○○○★★
○○★★★
○★★★★ { 这里圆圈代表空格,先把空格打出来,在输出星号就会成型}
★★★★★
★★★★★
★★★★
★★★
★★
★
★
★★★
★★★★★
★★★★★★★
★★★★★★★★★
★★★★★★★★★
★★★★★★★
★★★★★
★★★
★
“请输入一个奇数:”
不是奇数,提示输入有误
是奇数
★
★★★
★★★★★
★★★★★★★
★★★★★★★★★
★★★★★★★
★★★★★
★★★
★
1 static void Main(string[] args) 2 { 3 for (int i = 1; i <= 5;i++ ) 4 5 { 6 for (int j = 1; j <= i; j++) 7 { 8 9 Console.Write("★"); 10 } 11 Console.WriteLine(); 12 13 14 } 15 Console.ReadLine();
2
1 static void Main(string[] args) 2 { 3 for (int i = 5; i >=1;i-- ) 4 5 { 6 for (int j = 1; j <=i; j++) 7 { 8 Console.Write("★"); 9 } 10 Console.Write("\n"); 11 12 } 13 Console.ReadLine();
3
1 static void Main(string[] args) 2 { 3 for (int i = 1; i <= 5; i++) 4 { 5 for (int j = 1; j <= 5 - i; j++) 6 { 7 Console.Write("○"); 8 } 9 for (int l = 1; l <= i; l++) 10 { 11 Console.Write("★"); 12 } 13 Console.WriteLine(""); 14 } 15 Console.ReadLine();
4
1 static void Main(string[] args) 2 { 3 for (int i = 1; i <= 5; i++) 4 { 5 for (int j = 2; j <= i; j++) 6 { 7 Console.Write(" "); 8 } 9 for (int l = 1; l <= 6 - i; l++) 10 { 11 Console.Write("★"); 12 } 13 Console.WriteLine(""); 14 } 15 16 Console.ReadLine(); 17 }
以上两种都是先打印空格在打印星星
有两种程序,一个是用户输入数字最长的那一行就在第几行,一个是用户输入数字,最长的哪一行就会是几颗星星。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace ff 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 Console.Write("请输入一个奇数:"); 13 int shu = Convert.ToInt32(Console.ReadLine()); 14 15 int s = (shu + 1) / 2; //输入几最长的一行出几颗星 16 17 if (shu % 2 == 0) 18 { 19 Console.Write("请重新输入!"); 20 } 21 else 22 { 23 for (int i = 1; i <= shu; i++) 24 { 25 for (int j = 1; j <= shu - i; j++) 26 { 27 Console.Write(" "); 28 } 29 for (int l = 1; l <=2*i-1; l++) 30 { 31 Console.Write("★"); 32 } 33 34 35 Console.WriteLine(""); 36 } 37 for (int i = 1; i <= shu-1; i++) 38 { 39 for (int j = 1; j <= i; j++) 40 { 41 Console.Write(" "); 42 } 43 for (int l = 1; l <= shu - i; l++) 44 { 45 Console.Write("★"); 46 } 47 for (int t = 2; t <= shu - i; t++) 48 { 49 Console.Write("★"); 50 } 51 52 53 Console.WriteLine(""); 54 } 55 56 Console.ReadLine(); 57 } 58 } 59 } 60 }
接下来是跳转语句:
break - 直接跳出循环,执行下一行代码
continue - 停止当前此次循环,继续下一个循环
迭代法:
不断在自身上增加新的功能
比如
在下面的循环语句中,不断的w增加。
static void Main(string[] args)
{
// 让用户输入一个100以内的数
//打印1-这个数之间所有的数的和
Console.WriteLine("请输入100以内的数");
int i = Convert.ToInt32(Console .ReadLine ());
int sum=0;
for (int w= 1; w <=i; w++)
{
sum =sum + w ;
}
Console.WriteLine("他们的和是" + sum);
Console.ReadLine();
}
穷举法:
代表题目:百鸡百钱
将所有的可能性全部列举出来(循环嵌套不要超过3个,运算量很大)
*异常语句: 这个必须用
try ( 就是你认为那个代码会出错, 就在它前面用try并用{}给他括起来。 )
{
可能会出错的代码语句
如果这里出错了,那么不会在继续下面的代码,而是直接进入catch中处理异常
}
catch (如果try中的代码出错了,就会来执行这个catch中的代码)
{
如果上面出错了,这里是对这个异常的处理方式;
}
finally//可写可不写,因为可以直接写 Console.Write();把他代替。
{
不管上面有没有错,这里都会走,
}