C#語句2——循環語句(for循環與for循環嵌套)

循環:反覆執行某段代碼。遊戲

循環四要素:初始條件,循環條件,循環體,狀態改變。ci

for(初始條件;循環條件;狀態改變)it

{for循環

         循環體變量

}循環

break ——中斷循環,跳出整個循環co

continue——中止本次循環,進入下次循環。數字

注:●執行步驟:初始條件——循環條件——循環體——狀態改變。

●死循環:出不來,一直在執行

for (; ; )

{

   Console.WriteLine("你好");

}

1、for循環例題

一、找出100之內與7有關的數並打印:(1).從1找到100(2).找出與7有關的數

●個位數是7 a%10==7

●十位數是7 a/10 ==7

●能被7整除 a%7 ==0

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

            {

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

                {

                    Console.Write(i+"\t");

                }

            }

            Console.ReadLine();

二、輸入一個正整數,求1~這個數的階乘

            Console.Write("請輸入一個正整數:");

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

            int b=1;

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

            {

                b = b * n;

            }

            Console.WriteLine("這個數字的乘積是:"+b);

            Console.ReadLine();

三、一個遊戲,前20關是每一關自身的分數,,21-30關每一關是10分,31-40關,每一關是20分,41-49關,每一關是30分,50關,是100分,輸入你如今闖到的關卡數,求你如今擁有的分數。兩種作法:if嵌套for    for嵌套if

法一:

            Console.Write("請輸入您如今闖到的關卡數:");

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

            int sum = 0;

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

            {

                if (a <= 20)

                {

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

                    {

                        sum += i;

                    }

                }

                else if (a <= 30)//a>20&&a<=30

                {

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

                    {

                        sum += i;

                    }

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

                    {

                        sum += 10;

                    }

                }

                else if (a <= 40)//a>30&&a<=40

                {

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

                    {

                        sum += i;

                    }

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

                    {

                        sum += 10;

                    }

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

                    {

                        sum += 20;

                    }

                }

                else if (a <= 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 <= a; i++)

                    {

                        sum += 30;

                    }

                }

                else//a==50

                {

                    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;

                }

            }

            else

            {

                Console.WriteLine("輸入有誤!");

            }

            Console.WriteLine("您的分數爲:"+sum);

            Console.ReadLine();

法二:

            Console.Write("請輸入您如今闖到的關卡數:");

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

            int sum = 0;

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

            {

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

                {

                    if (i <= 20)

                    {

                        sum += i;

                    }

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

                    {

                        sum += 10;

                    }

                    else if (i <= 40)

                    {

                        sum += 20;

                    }

                    else if (i <= 49)

                    {

                        sum += 30;

                    }

                    else

                    {

                        sum += 100;

                    }

                }

            }

            else

            {

                Console.WriteLine("輸入有誤!");

            }

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

            Console.ReadLine();

四、籃球彈起問題,籃球初始所在高度是20米。每次彈起是上一次的五分之四,輸入次數,求籃球彈起高度。

            Console.Write("請輸入次數:");

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

            double h = 20;

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

            {

                h = h * 4 / 5;

            }

            Console.WriteLine("通過{0}次彈起,籃球高度是:{1}",a,h);

            Console.ReadLine();

五、摺紙:有一張超大的紙,能夠無限次摺疊,厚度爲0.07毫米。問,摺疊多少次能夠超過珠峯的高度(8848米)。

            int ci = 0;//標記變量,標記總共運行幾回

            double h = 0.07;//8848m=8848000

            for (; ; )

            {

                ci++;

                h *= 2;//h=h*2;

                if (h > 8848000)

                {

                    break;

                }

            }

            Console.WriteLine("通過{0}次摺疊,能夠超過珠峯的高度。高度爲:{1}米",ci,h/1000);

            Console.ReadLine();

2、for循環的嵌套例題

一、輸入一個整數,求1!+2!+...+n!

法1、

            Console.Write("請輸入一個正整數:");

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

            int sum = 0;

            int jie = 1;

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

            {

                jie *= i;

                sum += jie;

            }

            Console.WriteLine("結果是:" + sum);

            Console.ReadLine();

法2、嵌套

            Console.Write("請輸入一個正整數:");

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

            int sum = 0;

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

            {

                int jie = 1;

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

                {

                    jie *= j;

                }

                sum += jie;

            }

            Console.WriteLine("結果是:" + sum);

            Console.ReadLine();

二、九九乘法表

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

            {

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

                {

                    Console.Write("{0}*{1}={2} \t", j, i, i * j);

                }

                Console.WriteLine();

            }

            Console.ReadLine();

三、打印四個方向的三角形

●直角在左下方

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

            {

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

                {

                    Console.Write("★");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

●直角在左上方

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

            {

                for (int j = 1; j <= 6 - i; j++)

                {

                    Console.Write("★");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

●直角在右下方

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

            {

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

                {

                    Console.Write("  ");

                }

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

                {

                    Console.Write("★");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

●直角在右上方

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

            {

                for (int j = 1; j <= i - 1; j++)

                {

                    Console.Write("  ");

                }

                for (int j = 1; j <= 6 - i; j++)

                {

                    Console.Write("★");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

三、打印菱形

            Console.Write("請輸入一個數:");

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

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

            {

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

                {

                    Console.Write("  ");

                }

                for (int j = 1; j <=2*i-1; j++)

                {

                    Console.Write("★");

                }

                Console.WriteLine();

            }

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

            {

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

                {

                    Console.Write("  ");

                }

                for (int j = 1; j <= 2 *(a-i) - 1; j++)

                {

                    Console.Write("★");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

四、輸入任意數,打印出對應三角形

            Console.Write("請輸入一個數:");

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

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

            {

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

                {

                    Console.Write("★");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

相關文章
相關標籤/搜索