外包工

          學 JAVA 學 OO

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            21 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks

          1.當程式遇到分岐的條件,需要作出不同的選擇時,可利用流程控制的功能來達成。

          2.流程控制的語法有兩種:if else 與 swich case。

          3.

          if else

           

          syntax:

           

          if(條件判斷1){

               敘述1

          }

          else if(條件判斷2){

               敘述2

          }

          ……

          else{

               敘述

          }

           

           

           

           

          e.g.1:

           

          //本程式可以將百分數轉換成對應的A、B、C、D、E等級

          int score;

          printf("請輸入你的分數:");

          scanf("%d",&score);

          if(score>90)

               printf("A:great!");

          else if(score>80)

               printf("B:good");

          else if(score==77) //注意!判斷是否相等需用"==",不可用"="

               printf("Luck no!");

          else if(score>70)

               printf("C:average");

          else if(score>60)

               printf("D:not so good");

          else

               printf("E:WORK HARDER!");

           

           

           

           

          e.g.2

           

          //本程式使用巢狀(nested)的if else來判斷使用者的性別與年齡

          int age;

          char sex;

          printf("請輸入性別(男m,女f):");

          scanf("%c",&sex);; //讀入一字元,亦可用sex=getchar()

          printf("請輸入年齡:");

          scanf("%d",&age);

          printf("您好,");

          if(sex=='m')

          {

               if(age>=60)

                      printf("歐吉桑!");

               else

                    printf("黑狗兄!");

          }

          else

          {

               if(age>=50)

                    printf("歐巴桑!");

               else

                    printf("黑貓妹!");

          }

                                 

           

           

           

           

          說明:比較符號與邏輯符號的用法請見下表

           

           

           

           

           

           

          符號 意義 範例
          > >= 大於 大於或等於 if(a>=1)
          < <= 小於 小於或等於 if(a<10)
          == != 等於 不等於 if(x==y)
          && AND(兩個條件都要成立) if(a>=1&&a<=100)
          || OR(兩個條件只要一者成立即可) if(a>=1||y<5)
          ! NOT(true->false,false=>true) if(!(a==b))

           

           

          4.

          switch case

           

          syntax:

           

          switch(變數){

            case 條件1: //敘述1

                        break;

            case 條件2: //敘述2

                        break;

            ……………

            default: //預設敘述式

          }

           

           

           

           

          eg:

           

          //本程式可以計算兩個整數的四則運算

          int x,y,z;

          char op;//op(operator)為運算符號

          printf("please input: op x y\n");

          scanf("%c%d%d", &op, &x,&y);

          switch(op){

                case '+':z=x+y;break;

                case '-':z=x-y;break;

                case '*':z=x*y;break;

                case '/':z=x/y;break;

          }

          printf("%d%c%d=%d\n",x,op,y,z);   

           

           

           

           

          5.想想看

               1.假設公元曆法的閏年規則如下:當年份可被4整除時為閏年,但是被100整除卻不是閏年,但是若又可被400整除時,又可視為閏年。請你設計一程式,可以判斷某一年是否為閏年(leap year)(提示:整除與否可用求餘數符號%來判斷,例100%5=0,5%3=2)。

               例:

               輸入:2000  輸出:2000 is a leap year

               輸入:1997  輸出:1997 is not a leap year

              


           

               2.請設計一遊戲,可讓電腦自動猜出玩家所想的數字。假設數字為介於1到100之間的整數,而每當電腦猜一次時,玩家必需回應所猜的數字的結果。(答案比較大:輸入'g',小:輸入'l',答對:輸入'c'),直到猜對為止。

               例:假設玩家所想數字為66,

               電腦猜:50  玩家輸入: g

               電腦猜:75  玩家輸入: l

               ………………

               電腦猜:66  玩家輸入: c

              

               ps.本題需配合迴圈來實作

              


           

               3.某便利商店推出週年慶活動,若同一商品買超過一定數量時便可打折,打折的資訊請參考下表。假設顧客每次只買一種下列商品,請你寫一程式,可輸入購買商品的編號,單價及數量,並計算經折扣後的價格。

           

           

           

           

           

           

          編號 商品 折扣
          1~2個 3~5個 5個以上
          1 御飯團 95折 9折 85折
          2 陽光三明治 9折 85折 8折
          3 AB優酪乳 9折 8折 7折

           

               範例輸出入:

               請輸入商品編號:1

               請輸入商品單價:20

               請輸入商品數量:3

               您好!您購買的商品價格為:54元

           

              


           

               4.電阻(register)的數值可由標示在其上的條紋(band)顏色來辨識(請參見下圖)。其規則如下:前兩個條紋為兩位數電阻值,第三個條紋顏色則代表其所乘的10次方值,第四個條紋則為誤差值(本程式可不考慮誤差值)。請你寫一程式,可將某一電阻(已知其電阻值)上的前三個條紋顏色列印出來。

           

           

           

              

           

           

           

           

           

          顏色 第一、二條紋代表值 第三條紋代表值
          Gold - 10^-1
          Black 0 10^0=1
          Brown 1 10^1
          Red 2 10^2
          Orange 3 10^3
          Yellow 4 10^4
          Green 5 10^5
          Blue 6 10^6
          Violet 7
          Grey 8
          White 9

           

               例:

               電阻值10歐姆(10*10^0),其前三個條紋顏色為Brown,Black,Black。

               電阻值220歐姆(22*10^1),其前三個條紋顏色為Red,Red,Brown。

               電阻值560000歐姆(56*10^4),其前三個條紋顏色為Green,Blue,Yellow。

               電阻值為2.4歐姆(24*10^-1),其前三個條紋顏色為Red,Yellow,Gold。

              

               範例輸出入:

               Enter register value:220

               Red Red Brown

          posted on 2010-10-23 09:33 外包工 閱讀(190) 評論(0)  編輯  收藏 所屬分類: C語言程式設計
          主站蜘蛛池模板: 新建县| 康马县| 防城港市| 桐庐县| 紫云| 皮山县| 唐河县| 隆安县| 尉氏县| 米林县| 玛沁县| 庆城县| 保定市| 肇源县| 万载县| 休宁县| 资阳市| 务川| 南郑县| 阿坝县| 广饶县| 淳安县| 北川| 贵南县| 永德县| 马山县| 蚌埠市| 盈江县| 石棉县| 三河市| 东安县| 乌鲁木齐县| 津市市| 鄂托克旗| 宜阳县| 仁寿县| 德昌县| 科尔| 阿拉善盟| 云霄县| 鹤壁市|