for()循环
for(int i=1/*初始条件*/;i<=100/*循环条件*/;i++/*状态改变*/)
四要素:初始条件,循环条件,状态改变,循环体。
执行过程:初始条件-循环条件-循环体-状态改变-循环条件....
注意:for的小括号里面分好隔开,for的小括号后不要加分号。
for可以嵌套。
应用:迭代法,穷举法
一、迭代法:有一定的规律。
每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备。
例:
1.100以内所有数的和。
1
2
3
4
5
6
7
int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum = sum + i;
}
Console.WriteLine("您输入的数的累加和为" + sum);
2、公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
int tz = 1;
for (int i = 6; i >= 1; i--)
{
tz = (tz + 1) * 2;
}
Console.WriteLine("第一天的桃子总数为" + tz + "个");
3、五个小朋友排成一队。问第一个多大了,第一个说比第二个大两岁,问第二个,第二个说比第三个大两岁,以此类推。问第五个小朋友几岁了,第五个小朋友说3岁了。问第一个小朋友几岁?
int j = 3;
for (int i = 4; i >= 1; i--)
{
j = j + 2;
}
Console.WriteLine("第一个小朋友" + j + "岁");
4、一张纸厚度是0.1毫米,假设这张纸可以限次对折,问对折几次可以超过珠峰?8848米
int a = 1;
double z = 0.0001;
for (int i = 1; i <= i+1; i++)
{
z = z * 2;
if (z > 8848)
{
a = i;
break;
}
}
Console.WriteLine("折" + a + "次可以跟珠穆朗玛峰一样高");
5、棋盘放粮食(请在第一个格子放1粒粮食,第二个格子放2粒,第三个格子放四粒,以此类推,假如1粒粮食重量0.1克,那么棋盘30个格子的粮食一共重多少克?
int lszl = 1;
for (int i = 1; i < 30; i++)
{
int x = 1;
for (int j = 1; j <= i;j++ )
{
x = x * 2;
}
lszl = lszl + x;
}
double zl = lszl * 0.01;
Console.WriteLine("放满整个棋盘需要"+zl+"kg");
6.蓝球从5米高的地方落下,每次弹起的高度是上次的一半,问第n次弹起的高度?
Console.WriteLine("请输入篮球弹起的次数:");
int n = Convert.ToInt32(Console.ReadLine());
double gd=5;
for (int g = 1; g <=n; g++)
{
gd=gd/2;
if (g == 5)
{
gd = 0;
}
}
Console.WriteLine("第" + n + "次弹起的高度为" + gd + "米");