1. 程式人生 > >接觸C#的第7天

接觸C#的第7天

“最後一點就是堅持,有時候寫這些東西真的很痛苦,很讓人抓狂,但是你一旦你堅持下去,久而久之,你會看到自己的進步,某一天你回過頭去看自己以前寫的文章,當你能夠說出:”寫得真他媽菜”,那麼恭喜你,你已經level up了。”

                                      ——《程式設計師應該堅持寫技術部落格》原文連結:https://blog.csdn.net/d6619309/article/details/52727326

C#

繼續咱們的巨集圖大業+-+

 

16.編一個程式,輸入三個實數,要求使用if  else語句把它們的中間數找出來,可以使用邏輯運算子。

            float x, y, z, second ;//宣告變數(這裡對於second這個變數來說,即可以賦值又可以選擇不賦值,如果不賦值,則second與xyz這三個變數相同都預設值為null)
            Console.WriteLine("請輸入三個float型別的值:");//輸出
            x = float.Parse(Console.ReadLine());//輸入x
            y = float.Parse(Console.ReadLine());//輸入y
            z = float.Parse(Console.ReadLine());//輸入z
            if ((x > y && x < z) || (x < y && x > z))//if語句判斷
                second = x;
            else if ((y > x && y < z) || (y < x && y > z))
                second = y;
            else
                second = z;
            //Console.WriteLine("這三個數中的中間數為{0}", second);//<-這是另外一種輸出的寫法
            Console.WriteLine("這三個數中的中間數為"+ second);
            Console.ReadKey();//這句不解釋

 這道題主要就是運用if條件語句進行判斷,有一個地方值得注意,那就是if條件中的“||”。其實這裡的“||”用“|”替代的話,程式執行的結果是一樣的。因為“||”和“|”都表示“或”的意思。它們倆的區別就是,“|”連線的兩個條件。在進行判斷的時候,無論第一個條件是否符合,第二個條件仍然會進行判斷。而“||”只有在第一個條件不符合的 情況下才會對第二個條件進行判斷。所以在程式執行的效率上來講,“||”的效率要比“|”更高。

還有一個地方就是最開始宣告變數的地方。當宣告變數的時候,並未對變數進行賦值,所有宣告的變數預設值為null。

 

17編一個程式,首先輸入一個成績(0到100的整數),用if else語句然後判斷該成績是優、良、中、及格還是不及格。

            double score;//宣告變數
            Console.Write("請輸入一個成績:");//輸出
            score = double.Parse(Console.ReadLine());//將字串型別轉化為需要的雙精度浮點數
            if (score >= 90)//if條件語句
                Console.WriteLine("優");
            else if (score >= 80)
                Console.WriteLine("良");
            else if (score >= 70)
                Console.WriteLine("中");
            else if (score >= 60)
                Console.WriteLine("及格");
            else
                Console.WriteLine("不及格");
            Console.ReadKey();

主要結構就是if條件語句。再複習一下,開頭是if,結尾是else,中間可以新增任意多個else if,寫if條件的時候記得加上()

開頭讀取的時候記得將字串轉化為對應的型別。 

18編一個程式,輸入0—100之間的一個學生成績分數,用switch語句輸出成績等第(成績優秀(90-100),成績良好(80-89),成績及格(60-79)和成績不及格(59以下))。

            int score;//宣告變數
            Console.Write("請輸入學生成績:");//輸出
            score = int.Parse(Console.ReadLine());//將輸入的字串型別轉化為int型別(32位有符號的整數)
            score = score / 10;//分數除以10後賦值給score
            switch (score)
            {
                case 10:
                    Console.WriteLine("成績優秀");
                    break;
                case 9:
                    Console.WriteLine("成績優秀");
                    break;
                case 8:
                    Console.WriteLine("成績良好");
                    break;
                case 7:
                    Console.WriteLine("成績及格");
                    break;
                case 6:
                    Console.WriteLine("成績及格");
                    break;
                default:
                    Console.WriteLine("成績不及格");
                    break;

            }      //倘若在這裡新增一條Console.ReadKey();其實並不奏效,至於原因emmmm
                    Console.ReadKey();

 這個switch的用法詳參微軟的C#參考文件,此處不再贅述。

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/switch

19編一個程式,利用do-while迴圈語句,從鍵盤上輸入10個整數,求出它們的和。

            int i = 1, n, sum = 0;
            do                                         //dowhile迴圈語句
            {
                Console.Write("請輸入一個整數:");      // 迴圈的部分
                n = int.Parse(Console.ReadLine());
                sum = sum + n;
                i+=1;                                  //也可以寫成i++
            } 
            while (i <= 10);                           //求和的十個數在這裡限制
            Console.WriteLine("這十個整數的和為{0}", sum);//輸出
            Console.ReadKey();                            //暫停

 

20.編一個程式,用while迴圈語句來計算1+1/2+2/3+3/4+...+99/100之和。

            double i = 1, s = 1;
            while (i <= 99)
            {
                s = s + i / (i + 1);
                i+=1;
            }
            Console.WriteLine("和為{0}", s);
            Console.ReadKey();

 這一題和上一題呢都用到了i=i+1這個東西。=是賦值的意思,把右邊的值賦給左邊的變數。在第20題中限制的條件是當i<=90時,i=i+1。其實這個式子還有三個兄弟——

①i+=1(可以認為與i=i+1等價)

②i++

③++i

值得注意的是,如果是單獨執行,看起來效果就是一模一樣的,但是放到語句裡就會變得不一樣了。在計算表示式的時候,會考慮到運算的優先順序。這幾個兄弟中,++i的優先順序最高,其次是i=i+1,i++的優先順序最低。