程式設計菁英班
1.switch 2.副程式 3.陣列
C++ 標頭檔
#include<iostream>
#include<cstdlib>
using namespace std;
switch 使用時機
多重選擇
選擇條件為定值,不是範圍 值
條件是1, 2, 3, 4, 5
不能是<=10, <=20, <=30
語法
switch(變數) {
case 條件1: 動作1;
break;
case 條件2: 動作2;
break;
case 條件3: 動作3;
break; }
break 介紹
在switch中,使某一case執行結束
在for迴圈、while迴圈中,迫使迴圈結束
for(i=0; i<100; i++) {
cout<<i<<“,”; if(i==10)
break; }
範例
設計一個查價程式,輸出相對應產品價格
練習
設計一個電腦必贏的猜拳遊戲
副程式
需要重複使用的一段程式
有時候為了把複雜的程式 割給不同的人處理
不一定要傳入或傳回值,但通常都會有傳回值
格式
int 副程式() {….
return 結果; } int main()
{….}
範例
練習
還記得 們曾經練習過可以計算 方形、長方
形、圓形面積的程式嗎?現在用switch與副程
式設計一個選單,可以選擇要計算 方形、長
方形、圓形和梯形的面積
有參數的副程式
呼叫副程式時把數值給副程式
練習
1) 輸入兩個數,輸出較大的數,main程式不
能有判斷 能的程式碼
2) 輸入華氏,用副程式轉換 攝氏
攝氏 = (華氏-32)*5/9
陣列
如果處理的資料量很大,則必須用陣列
輸入2個數的 法,可以定義兩個變數 int x,y; 輸入500個數的 法,要如何用500個變數?
陣列是一串連續的變數,用編號區 不同變數
宣告方法
int x[500];
表示有一個陣列叫做x,有500個編號,從0~499
將資料輸入到陣列
int x[5]; x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4;
cout<<x[3]<<endl;
int i, x[5]={0,1,2,3,4}; for(i=0;i<5;i++)
cout<<x[i]<<“,”<<endl;
練習
1) 給定一個陣列
int i, x[10]={10,11,13,15,20,26,50,52,59,60}; 請輸出x陣列裡面數值的和
2) 同 述陣列
請判斷x陣列裡的值,偶數不變,奇數則減1 輸出 10,10,12,14,20,26,50,52,58,60
3) 同 述陣列,找出最大、最小值及其位置
4) 同 述陣列,找出>=30的數有幾個
5) 請用陣列紀錄並輸出前50個費氏數列
練習-輸出反向排列數列
輸入
第一個數表示數列中有多少數 第二個數之後即為數列中的數
輸出
反向排列的數列
例如
輸入:3 1 2 3 => 輸出:3 2 1
輸入:4 2 4 6 8 => 輸出:8 6 4 2
C
A B
如何交換兩個杯子的號碼球?
規定:球一定要在杯子裡面
A給C B給A C給B
如何交換兩個變數的值?
int A=10,B=20,C;
A給C
C=A;
B給A
A=B;
C給B
B=C;
為資料交 換 驟