C#第一次練習

时移之人發表於2024-12-10

大標題

本次練習主要針對變數、選擇語句、迴圈,使用方法將問題單列,使用Windows視窗互動。

1.輸入1~12之間的一個數字,輸出它對應的月份。例如輸入1 輸出一月。

// 1.輸入1~12之間的一個數字,輸出它對應的月份
            int mon = int.Parse(textBox1.Text);
            textBox2.Text = Month(mon);

// 1.輸入1~12之間的一個數字,輸出它對應的月份。例如輸入1 輸出一月
        public string Month(int n)
        {
            switch (n)
            {
                case 1:
                    return "一月";
                case 2:
                    return "二月";
                case 3:
                    return "三月";
                case 4:
                    return "四月";
                case 5:
                    return "五月";;
                case 6:
                    return "六月";
                case 7:
                    return "七月";
                case 8:
                    return "八月";
                case 9:
                    return "九月";
                case 10:
                    return "十月";
                case 11:
                    return "十一月";
                case 12:
                    return "十二月";
                default:
                    return "請輸入1-12的數字!";
            }
        }

2.輸入一個字串,判斷如果全是數字,將其轉換成為一個整數,若包含其他符號,給出錯誤提示。

            string str = textBox1.Text;
            if (isNum(str))
                textBox2.Text = str;
            else
                textBox2.Text = "輸入的字串中包含其他符號!";

        public bool isNum(string n)
        {
            bool b = true;
            foreach (char i in n)
            {
                if (i < 48 || i > 57)
                    b = false;

            }
            return b;
        }

3. 求n以內(不包括n)不能同時被2和5整除(能被2或者5整除但不能同時被整除)的所有自然數之和的平方根s,n從鍵盤輸入

            int n = int.Parse(textBox1.Text);
            int sum = 0;
            for(int i = 0; i < n; i++)
            {
                if (i % 2 == 0 || i % 5 == 0){
                    if(i % 2 == 0 && i % 5 == 0)
                    {

                    }else
                    {
                        sum += i;
                    } 
                }
            }
            double s = Math.Sqrt(sum);
            textBox2.Text = $"{n}以內的所有的自然數之和的平方根為{s}";

4.斐波那契數列是公元13世紀數學家斐波那契發明的。即:1,1,2,3,5,8,13,21,34,55,89,……,出比233大的最小的那一項,輸出該項的序號和值。

    int num1 = 0;
    int num2 = 1;
    int nextNum;

    int n = 0;
    while (true)
    {
        nextNum = num1 + num2;
        n++;
        if (nextNum > 233)
        {
            break;
        }
         num1 = num2;
         num2 = nextNum;
    }
    textBox2.Text = $"233大的最小的那一項的序號為{n},值為{nextNum}";

5.輸入若干有序的正整數,對於相同的資料只保留一個,輸出保留的資料。

    List<int> list = new List<int>();
    string str = textBox1.Text;
    int[] strArr = str.Split(',').Select(int.Parse).ToArray();

    strArr = strArr.Distinct().ToArray();

    foreach (int i in strArr)
    { 
         textBox2.Text += i + " ";
    }