[技術類 – C# 學習誌 – C#面試考題 ] 陣列、重複結構流程控制、巢狀迴圈

break and continue 的概念.

􀁹 break : 在for 執行迴圈中,若遇到break 陳述句時,會立即逃離迴圈
􀁹 continue : 在for 執行迴圈中,若遇到continue 陳述句時,會立即跳至遞增值部份
——————————————————————————————————
//程式功能 :登入系統 (練習break概念)
//請使用者輸入密碼
//輸入密碼為ives 則允許登入
//容許三次登入機會
const string pw = “1234″;  //設定密碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            const string pw = “1234″;  //設定密碼
            for (int i = 0; i < 3; i++)
            {
                Console.Write(“請輸入您的密碼");
                if (pw == Console.ReadLine())
                {
                    Console.WriteLine(“登入成功");
                    break;
                }else if(i==2)
                    Console.WriteLine(“輸入錯誤已達三次");
                else
                    Console.WriteLine(“密碼錯誤,請再輸入一次");
            }
        }
    }
}
——————————————————————————————————
//程式功能 :  讓使用者輸入x, 列印出1~10 間不含x 的所有數 (練習continue概念)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write(“請輸入一個1~10之間的數字");
            int n_input = int.Parse(Console.ReadLine());
            for (int i = 1; i <= 10; i++)
            {
                if (i == n_input)
                {
                    continue;
                }else{
                    Console.WriteLine(i);
                }
            }
            Console.ReadLine();
        }
    }
}
——————————————————————————————————
//while 概念
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)  //無窮迴圈
            {
                if (!C1)  //條件很複雜時,可以寫在IF這邊 表列多個條件,而不一定要寫在while裡面
                    break;
            }
            Console.ReadLine();
        }
    }
}
——————————————————————————————————
//while 概念
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //輸入資料
            Console.Write(“請輸入一整數︰");
            int x = int.Parse(Console.ReadLine());
            int sum = 0, i = 0;
            while (true)
            {
                sum += ++i;
                if (sum > x)
                {
                    i++;
                    break;
                }
            }
            Console.WriteLine(“1 +…+ " + i + " 才會大於" + x);
            Console.WriteLine(“輸入quit 離開程式..");
            while (“quit" != Console.ReadLine()) ;
        }
    }
}
——————————————————————————————————
//while 概念 : 階乘計算
//輸入x
//列印出x! 的值
//while 概念
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //輸入資料
            Console.Write(“請輸入一個數字︰");
            int x = int.Parse(Console.ReadLine());
            int product = 1, i = 0;
            while (true)
            {
                product *= ++i;
                if (i == x)
                {
                    break;
                }
            }
            Console.WriteLine(product);
            Console.ReadLine();
        }
    }
}
——————————————————————————————————
//do  while 概念
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random(); //亂數宣告->不要放在 do迴圈裏面宣告!!這樣才能在亂數表上隨意跳動
            //執行遊戲
            do    //自己能夠確定執行次數時,使用for, 但是這個例子並不確定會執行幾次(跟使用者的回答有關係)
            {
            Console.Write(“請輸入一個數字(1~3之間)︰");
            if (rnd.Next(1, 4) == int.Parse(Console.ReadLine()))
                Console.WriteLine(“您好厲害猜中了!!");
            else
                Console.WriteLine(“哈哈哈!! 沒猜中!!");
                Console.Write(“再玩一遍嗎? (y/n)");
            } while (Console.ReadLine() == “y");
        }
    }
}
——————————————————————————————————
//do  while 概念
// 判斷輸入值是否在0 ~ 100 間
// 輸入x
// 若x 的值不在範圍內,請使用者重新輸入
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            do    //自己能夠確定執行次數時,使用for, 但是這個例子並不確定會執行幾次(跟使用者的回答有關係)
            {
            Console.Write(“請輸入一個數字(沒有區間限制)︰");
            int n_input = int.Parse(Console.ReadLine());
            if (n_input >= 0 && n_input<=100)
            {
                Console.WriteLine(“符合規範的數字!!");
                break;
            }else{
                Console.WriteLine(“不行ㄟ!!請重新輸入");
            }
            } while (true);
            Console.ReadLine();
        }
    }
}
——————————————————————————————————

//巢狀迴圈: 這個會執行100次

for (int i=0; i<10; i++)
{
    for (int j=0; j<10; i++)
    {
    }
}
——————————————————————————————————
//列印九九乘法表
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //列印九九乘法表
            for (int i = 1; i <= 9; i++)
            {
                for (int j = 1; j <= 9; j++)
                {
                    Console.Write(i + “*" + j + “=" + (i * j) + “\t");
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
}
——————————————————————————————————
//輸入x
//列印出邊長為x 的實心正方形
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //輸入資料
            Console.Write(“請輸入x 的值︰");
            int x = int.Parse(Console.ReadLine());
            //列印正方形
            for (int i = 0; i < x; i++)
            {
                for (int j = 0; j < x; j++)
                {
                    Console.Write(“*");
                }
                Console.WriteLine(); //換行動作
            }
            Console.ReadLine();
        }
    }
}
——————————————————————————————————
//列印 空心正方形
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //輸入資料
            Console.Write(“請輸入x 的值︰");
            int x = int.Parse(Console.ReadLine());
            //列印 空心正方形
            for (int i = 0; i < x; i++)
            {
                for (int j = 0; j < x; j++)
                {
                    if(j==0 || i==0 || i==x-1 || j==x-1)
                    Console.Write(“*");
                    else
                    Console.Write(" “);
                }
                Console.WriteLine(); //換行動作
            }
            Console.ReadLine();
        }
    }
}
——————————————————————————————————

//輸入x (奇數)

//列印出長寬為x 的十字形圖案
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //輸入資料
            Console.Write(“請輸入x 的值(奇數)︰");
            int x = int.Parse(Console.ReadLine());
            for (int i = 0; i < x; i++)
            {
                for (int j = 0; j < x; j++)
                {
                    if(j == x/2 || i ==x/2)
                    Console.Write(“*");
                    else
                    Console.Write(" “);
                }
                Console.WriteLine(); //換行動作
            }
            Console.ReadLine();
        }
    }
}
——————————————————————————————————
c# 宣告陣列語法
􀁹 資料型別[ ] 陣列名稱= new 資料型別[陣列大小];
􀁹 一維陣列用法
􀁹 int[] myArray = new int[10];
􀁹 string[] studentName = new string[100];
􀁹 int[] a = new int[5] {0,1,2,3,4};
􀁹 二維陣列用法
􀁹 int[,] b = new int[2,3];
􀁹 int[,] c = new int[2,3] {{1,2,3},{4,5,6}};
——————————————————————————————————
// 宣告一個二維陣列
// 將陣列內容一筆筆的列印出來
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] myArray = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };
            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Console.WriteLine(“({0},{1})︰{2}", i, j, myArray[i, j]);
                }
            }
            Console.ReadLine();
        }
    }
}
——————————————————————————————————
// 陣列的練習
// 輸入要處理的數字個數
// 輸入所有要處理的數
// 選擇要進行的計算(加法、乘法)
// 列印結果
// 利用陣列記錄使用者輸入的數字
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(“輸入要處理的數字個數");
            int x = int.Parse(Console.ReadLine());
            int[] a = new int[x];
            for (int i = 0; i < x; i++)
            {
                Console.WriteLine(“輸入數字");
                a[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine(“選擇要進行的計算(加法、乘法)");
            string op = Console.ReadLine();
            int sum = 0;
            int product =1;
            if(op=="+")
            {
                for (int i = 0; i < x; i++)
                {
                sum+= a[i];
                }
                Console.WriteLine(“計算結果:" + sum);
            }
            else if(op=="*")
            {
                for (int i = 0; i < x; i++)
                {
                product*= a[i];
                }
                Console.WriteLine(“計算結果:" + product);
            }
            Console.ReadLine();
        }
    }
}
——————————————————————————————————

//當我們需要一筆一筆讀取(無法儲存) 陣列的內容時,可利用foreach 迴圈來簡化程式

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arrayA = new int[5] { 10, 1, 2, 3, 4 };
            //列印資料 -> foreach不能改變值 (要改變值 只能用for迴圈)
            foreach (int a in arrayA)
            {
                Console.WriteLine(a);
            }
            string[] studentName = new string[4] { “Alice", “Bob", “Ives", “John" };
            //列印資料 -> foreach不能改變值 (要改變值 只能用for迴圈)
            foreach (string name in studentName)
            {
                Console.WriteLine(name);
            }
            //請使用者輸入五位學生姓名
            //將五名學生資料列印出
            //利用for 迴圈將學生姓名儲存於陣列中
            //利用foreach 迴圈列印迴圈資料
            string[] studen_input_Name = new string[4];
            for (int i = 0; i < 4; i++)
            {
                studen_input_Name[i] = Console.ReadLine();
            }
            //列印資料 -> foreach不能改變值 (要改變值 只能用for迴圈)
            foreach (string name2 in studen_input_Name)
            {
                Console.WriteLine(name2);
            }
                Console.ReadLine();
        }
    }
}
——————————————————————————————————

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s