语句- for () 循环语句-迭代法

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 + "米");

原文地址:https://www.cnblogs.com/dcdgmjzhal/p/4645029.html