zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    素敵な日本人 2-1
    十年目のバレンタインデー のほか
    水晶の数珠  3
    水晶の数珠  2
    STM32 USB HID BarCodeReader不兼容问题的解决
    水晶の数珠 1
    クリスマスミステリ 2
    クリスマスミステリ 1
    サファイア奇跡 3
    感悟成功
  • 原文地址:https://www.cnblogs.com/juyangchao12/p/5452562.html
Copyright © 2011-2022 走看看