4月29日 循环语句、循环语句的嵌套

循环语句、循环语句的嵌套及练习

一、 循环语句

1、循环语句的四要素

初始条件、循环条件、循环体、状态改变

for(初始条件;循环条件;状态改变)

{

   循环体

}

例:

      初始条件;循环条件;状态改变

for (int i = 1; i <= 10; i++)

{

    Console.WriteLine("你好!");循环体

}

Console.ReadLine();

2、死循环

for (;;)//或者可以写成“int i = 0; i >-1; i++”

{

   循环体

}

二、练习:

1//输入一个数,计算送1乘到10的结果求阶乘

            Console.Write("请输入一个正整数:");

            int a = int.Parse(Console.ReadLine());

            int cj = 1;  //若cj=0任何数相乘都是0无意义,所以得是1

            for (int i = 1; i <= a; i++)

            {

                cj *= i;  //cj=cj*1

            }

            Console.WriteLine(cj);

            Console.ReadLine();

2//写出100以内所有跟7相关的数

   //1、个位数是7:i / 7 == 7

   //2、十位数是7:i % 10 == 7

   //3、被7整除(7的倍数):i % 7 == 0

(1)第一种方法:

            for (int i = 1; i <= 100; i++)

            {

                if (i % 10 == 7)

                {

                    Console.Write(i + " ");

                }

                else if (i / 7 == 7)

                {

                    Console.Write(i + " ");

                }

                else if (i % 7 == 0)

                {

                    Console.Write(i + " ");

                }

            }

            Console.ReadLine();

(2)第二种方法:

            for (int i = 1; i <= 100; i++)

            {

                if (i % 10 == 7 || i / 7 == 7 || i % 7 == 0)

                {

                    Console.Write(i + " ");

                }

            }

            Console.ReadLine();

3//100节楼梯,0-49节 分数等于节数 50以后(包括50)每节10分输入节数,得出分数

            Console.Write("请输入您的楼梯数:");

            int t = int.Parse(Console.ReadLine());

            int sum = 0;

            if (t >= 1 && t <= 100)

            {

                for (int i = 1; i <= t; i++)

                {

                    if (i <= 49)

                    {

                        sum += i;

                    }

                    else

                    {

                        sum += 10;

                    }

                }

                Console.WriteLine("您的分数是" + sum.ToString() + "分");

            }

            else

            {

                Console.WriteLine("您的输入有误!");

            }

            Console.ReadLine();

4//一个游戏,前20关是每一关自身的分数,

   //21-30每一关是10分,

   //31-40每一关是20分,

   //41-49每一关是30分,

   //50关是100分。

   //输入你现在的关卡数,求你现在拥有的分数

   //两种做法:if嵌套for    for嵌套if

(1)if嵌套for

//如果目标关数为20关以下,循环计算总分

//如果目标关数为30关以下,循环计算总分

            //1、用户输入关卡数

            Console.Write("请输入您的关卡数:");

            int g = int.Parse(Console.ReadLine());

            //2、判断用户输入的关卡数是否正确                                    

            if (g >= 1 && g <= 50)

            {

                int sum = 0;

                //3、如果正确那么才进行循环计算总分

                if (g >= 1 && g <= 20)

                {

                    for (int i = 1; i <= g; i++)

                    {

                        sum += i;

                    }

                }

                else if (g >= 21 && g <= 30)

                {

                    for (int i = 1; i <= 20; i++)

                    {

                        sum += i;

                    }

                    for (int i = 21; i <= g; i++)

                    {

                        sum += 10;

                    }

                }

                else if (g >= 31 && g <= 40)

                {

                    for (int i = 1; i <= 20; i++)

                    {

                        sum += i;

                    }

                    for (int i = 21; i <= 30; i++)

                    {

                        sum += 10;

                    }

                    for (int i = 31; i <= g; i++)

                    {

                        sum += 20;

                    }

                }

                else if (g > 41 && g <= 49)

                {

                    for (int i = 1; i <= 20; i++)

                    {

                        sum += i;

                    }

                    for (int i = 21; i <= 30; i++)

                    {

                        sum += 10;

                    }

                    for (int i = 31; i <= 40; i++)

                    {

                        sum += 20;

                    }

                    for (int i = 41; i <= g; i++)

                    {

                        sum += 30;

                    }

                }

                else

                {

                    for (int i = 1; i <= 20; i++)

                    {

                        sum += i;

                    }

                    for (int i = 21; i <= 30; i++)

                    {

                        sum += 10;

                    }

                    for (int i = 31; i <= 40; i++)

                    {

                        sum += 20;

                    }

                    for (int i = 41; i <= 49; i++)

                    {

                        sum += 30;

                    }

                    sum += 100;

                }

                Console.WriteLine("您的分数是:" + sum.ToString() + "分");

            }

            else

            {

                Console.WriteLine("您的输入有误!");

            }

            Console.ReadLine();

(2)for嵌套if

//循环从1到目标关数

//在每次循环中判断当前计算的是第几关

            Console.Write("请输入您的关卡数:");

            int g = int.Parse(Console.ReadLine());

            if (g >= 1 && g <= 50)

            {

                int sum = 0;

                for (int i = 1; i <= g; i++)

                {

                    if (i <= 20)

                    {

                        sum += i;

                    }

                    else if (i > 20 && i <= 30)

                    {

                        sum += 10;

                    }

                    else if (i > 30 && i <= 40)

                    {

                        sum += 20;

                    }

                    else if (i > 40 && i <= 49)

                    {

                        sum += 30;

                    }

                    else

                    {

                        sum += 100;

                    }

                }

                Console.WriteLine("您的分数是:" + sum + "分");

            }

            else

            {

                Console.WriteLine("您的输入有误!");

            }

            Console.ReadLine();

5for嵌套,外循环走一次的过程,内循环走了一整遍

            int neicishu = 0;

            int waicishu = 0;

            for (int i = 1; i <= 5; i++)

            {

                for (int a = 1; a <= 5; a++)

                {

                    neicishu++;

                }

                waicishu++;

            }

            Console.WriteLine(waicishu);//5次

            Console.WriteLine(neicishu);//25次

            Console.ReadLine();

原文地址:https://www.cnblogs.com/juyangchao12/p/5452562.html