Microsoft PowerPoint - CH3 [相容模式]

Similar documents
2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

C/C++语言 - C/C++数据

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C/C++语言 - 运算符、表达式和语句

C/C++程序设计 - 字符串与格式化输入/输出

新版 明解C++入門編

FY.DOC

CHAPTER VC#

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C/C++ - 字符输入输出和字符确认

C/C++ 语言 - 循环

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

CC213

02

第3章.doc

Microsoft Word - 第3章.doc

c_cpp

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

C

C/C++语言 - 分支结构

C 1

怎样使孩子更加聪明健康(五).doc

Java

untitled

C/C++ - 文件IO

ebook39-5

C/C++ - 函数

新版 明解C言語入門編

Microsoft Word - CPE考生使用手冊 docx

Microsoft Word - C-pgm-ws2010.doc

Microsoft PowerPoint - ds-1.ppt [兼容模式]

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

新・解きながら学ぶJava

Chapter12 Derived Classes

新・解きながら学ぶC言語

C C

Microsoft PowerPoint - 06_迴圈2.pptx

游戏攻略大全(五十二).doc

游戏攻略大全(五十一).doc

¨Æ·~½g¡ã¾·~¤ÀÃþ

% 25% (i) 95% 96,290,900 (ii) 99.9% 17,196,000 (iii) 99.9% 89,663,100 2

Microsoft Word - om388-rnt _excl Items 16 & 38_ _final_for uploading_.doc

國立中山大學學位論文典藏.PDF

Microsoft Word mpc-min-chi.doc

( ) 1

穨cwht.PDF

900502_Oasis.indb

bnb.PDF

untitled

Microsoft Word _4

郑州大学(下).doc

厨房小知识(六)

广 东 纺 织 职 业 技 术 学 院 发 展 党 员 公 示 制 实 施 办 法 关 于 推 荐 优 秀 团 员 作 为 党 的 发 展 对 象 工 作 的 意 见 后 勤 管 理 工 作 广 东 纺 织 职 业 技 术 学 院 新 引 进 教 职 工 周 转 房 管 理


游戏攻略大全(五十).doc

金融英语证书考试大纲


健康知识(二)

中南财经大学(二).doc

广西大学(一).doc

根据学校教学工作安排,2011年9月19日正式开课,也是我校迁址蓬莱的第一学期开学

山东大学(一).doc

2

主 编 : 杨 林 副 主 编 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 评 审 顾 问 : 杨 林 张 新 民 评 审 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 李 忆 萍 徐 如 雪 文 字 编 辑 : 曹 纯 纯 邹 兰 李 雅 清

最新文物管理执法全书(十四).doc

园林常识(二).doc

前 言 二 一 六 年 四 月 四 日, 兒 童 節, 誕 生 了 一 件 美 事 : 中 國 作 家 曹 文 軒 在 意 大 利 博 洛 尼 亞 國 際 童 書 展 榮 獲 國 際 安 徒 生 文 學 獎, 是 該 獎 創 設 六 十 年 來, 第 一 位 摘 桂 的 中 國 作 家, 意 義 重

湖 南 科 技 大 学

上海外国语大学(二).doc

2009 陳 敦 德

切 实 加 强 职 业 院 校 学 生 实 践 能 力 和 职 业 技 能 的 培 养 周 济 在 职 业 教 育 实 训 基 地 建 设 工 作 会 议 上 的 讲 话 深 化 教 育 教 学 改 革 推 进 体 制 机 制 创 新 全 面 提 高 高 等 职 业 教 育 质 量 在

鸽子(三)

兽药基础知识(四)

园林植物卷(十).doc

园林植物卷(十七).doc

临床手术应用(三)

家装知识(二十)

医疗知识小百科

家庭万事通(一)

家装知识(三)

园林绿化(一)

园林植物卷(十五).doc

最新监察执法全书(一百五十).doc

兽药基础知识(三)

奥运档案(四).doc

最新监察执法全书(五十).doc

最新执法工作手册(三百八十四)

中华美食大全4

动物杂谈_二_.doc

抗非典英雄赞歌(三)

新时期共青团工作实务全书(三十五)

经济法法律法规第十九卷

游戏攻略大全(五十九).doc

火灾安全实例

兽药基础知识(七)

实用玉米技术(二)

中国政法大学(一).doc

水产知识(一)

招行2002年半年度报告全文.PDF

(Microsoft Word - outline for Genesis 9\243\2721\243\25529.doc)

Transcription:

Chapter 3. Repetition Structures 1. while 2. do-while 3. for 4. continue and break 1

The same calculation or sequence of instructions is repeated using different sets of data. Repetition statements while, do, for Condition to be evaluated A statement to set the initial condition A statement to allow the condition to become false 2

The flowchart of while 1. while 3

While (a<=10) cout<<a<<endl; Executed forever or never executed!! Must set the initial condition A statement to allow the condition to become false 4

Program 3.1.1--- 從 1 加到 N // Sum.cpp #include <iostream> using std::cin; using std::cout; using std::endl; int main() int N, Sum, Count ; while ( Count <= N ) Sum += Count ; Count++; cout << " 總和是 : " << Sum << endl ; return 0; cout << " 請輸入要累計的數目 :" << endl; cin >> N; Count = 1 ; Sum = 0; 5

The flowchart of do-while 2. do-while do statement 1; statement 2; while (condition); 6

Program 3.2.1--- 猜字母 #include <iostream> using std::cin; using std::cout; using std::endl; void main() char Secret1 = 'D', Secret2 = 'd'; char Guess; do cout << " 請輸入一個從 A 至 E 的字母 :" << endl ; cin >> Guess; while ((Guess!= Secret1) && (Guess!= Secret2)); cout << " 你猜對了, 就是 " << Secret1 << endl ; 7

Program 3.2.2 #include <iostream> using namespace::std; void main() char Secret1, Secret2,Guess; bool state1,state2; float i; state1=0;// 重新產生猜測子母 state2=1;// 是否要重猜 do if (state1== 0) i=rand()%26; Secret1=(char)(i+65); Secret2=(char)(Secret1+32); //cout<<secret1<<endl; cout << " 請輸入一個從 A 至 Z 的字母 :" << endl ; cin >> Guess; while (!((Guess<=90 && Guess>=64) (Guess<=122 && Guess>=97))) cout<<" 你輸入的不是英文字母, 請再輸入一次 \n"; cin >> Guess; #include <time.h> srand(time(0)); 8

if ((Guess!= Secret1) && (Guess!= Secret2)) cout<<" 你猜錯了, 請再猜一次 \n"; state1=1; else state1=0; cout<<" 你猜對了, 還要再猜一次嗎?\n"; cin>>guess; //if (Guess == 'y' Guess == 'Y') if (Guess == 89 Guess == 121) state2=1; else state2=0; while (state2 state1); cout <<" 再見 "<< endl ; 9

The flowchart of for 3. for for ( 起始值設定式 ; 條件判斷式 ; 參數改變式 ) 敘述 1; 敘述 2; for (i=0;i<10;i++) cout<<i<<endl; 10

Program 3.3.1--- 從 1 加到 N #include <iostream> using namespace::std; int main() int N, Sum, Count ; cout << " 請輸入要累計的數目 :" << endl; cin >> N; Sum = 0; for ( Count = 1 ; Count <= N ; Count++ ) Sum += Count ; cout << " 總和是 : " << Sum << endl ; return 0; 11

Example 1 for (Count=1 ;Count<=N;Count++) Sum+=Count; Example 2 Count=1; for ( ;Count<=N;Count++) Sum+=Count; Example 3 Count=1; for ( ;Count<=N;) Count++;Sum+=Count; Example 4 Count=1; for ( ;Count<=N; Sum+=Count, Count++) 12

Nested loop Program 3.3.2 #include <iomanip> #include <iostream> using namespace::std; int main() int M=3, N=5; cout << M <<" 列 " << N << " 行矩陣 :" << endl; for (int i = 1; i <= M; i++) for (int j = 1; j <= N ; j++) cout << setw(5)<< i << j ; cout << endl; return 0; 3 列 5 行矩陣 : 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 13

Program 3.3.3---12 12 的表 #include <iostream> #include <iomanip> using namespace std; int main() const int size = 12; int i = 0, j = 0; cout << endl << size << " by " << size << " Multiplication Table" << endl << endl; cout << endl << " "; for(i=1; i<=size; i++) cout << setw(3) << i << " "; cout << endl; 14

for(i=0; i<=size; i++) cout << " "; for(i=1; i<=size; i++) cout << endl << setw(3) << i << " "; for(j=1; j<=size; j++) cout << setw(3) << i*j << " "; cout << endl; return 0; 15

While while (condition) statement 1; statement 2; continue; statement 3; break; statement 4; statement 5; 4. continue and break 16

Program 3.4.1 #include <iostream> using namespace::std; int main() int N, Sum, Count ; if ( Count > N ) break; cout << " 總和是 : " << Sum << endl ; return 0; cout << " 請輸入要累計的數目 : " << endl; cin >> N; Count = 1 ; Sum = 0; while ( true ) Sum += Count ; Count++; 17

for for (I=0;I<=10;I++) statement 1; statement 2; continue; statement 3; break; statement 4; statement 5; 18

Program 3.4.2 #include <iostream> using namespace std; void main() for ( int i = 2 ; i <= 20 ; cout << "C ", i=i+2 ) cout << i; if (i == 6) continue; cout << "A"; if (i == 12) break; cout << "B"; cout << endl ; 2ABC 4ABC 6C 8ABC 10ABC 12A 19

//Example 1 #include <iostream> #include <cmath> using namespace std; void main() float a,b; float x,y; cout<< "Please input the first number x:\n"; cin>>x; cout<< "Please input the first number y:\n"; cin>>y; a=sqrt(x); b=y/10; cout<<"sqrt("<<x<<")="<<a; if (a>b) cout<<">"; else if (a<b) cout<<"<"; else cout<<"="; cout<<y<<"/10="<<b<<endl; 20

Example 1: 將 sqrt(x) > <= y/10 判斷結果這程式改寫成可詢問是否要再重新輸入 x, y, 若不要, 則可輸入 N 結束程式. Example 2: 將 128 個 ASCII 符號逐一列出來 (cout<<char(i)) Example 3: 列出華氏跟攝氏溫度對照表, 華氏從 0 到 300, 每隔 20 度輸出一次結果 (C=(5/9)(F-32)) Example 4: 請由鍵盤輸入 10 個值並將其相加後輸出到螢幕上 21

作業 : 一線上遊戲兩角色 A 與 B 的生命值都是 100, 每次攻擊力皆在 10~30 之間 ( 整數 ), 防禦力在 10~20 之間 ( 整數 ), 此兩角色開始戰鬥時, 在同一回合會隨機產生此回合攻擊值及防禦值, 若攻方攻擊值大於防禦方防禦值時, 則視為擊中防禦方, 此時防禦方會承受所有的攻擊損傷 ( 扣生命值 ), 反之則視為沒有擊中, 就沒有損傷, 當一方生命值為 0 時, 則戰鬥結束, 請寫一程式模擬此戰鬥開始到一方生命值為零結束戰鬥為止. 在程式中請將每回合的戰鬥狀況 ( 損傷狀況 ) 顯示在螢幕上. 在戰鬥結束後請顯示誰為勝方, 並顯示出勝方最後的生命值, 勝方會出現笑臉 :), 敗方會出現哭臉 :(, 但注意同時陣亡之情況. 附加功能 : 每回合可詢問玩家受否要使用回復技能 (Y), 若回答為 Y, 則當回合喪失攻擊機會 ( 仍會產生防禦值 ), 而生命值可回復 10, 但此回復技能只能用兩次. 22

一程式模擬男生 A" 追求 ( 送禮物 ) 女生 B" 之狀況 : 女生每次約會前會暗示有五種東西是她可能喜歡的 ( 其實只喜歡一種 ), 當男生送對禮物 ( 猜對 ) 給女生時, 則感情分數會上升 20 分, 若送錯禮物 ( 猜錯 ) 則會扣 10 分, 二者感情初始分數是 50, 當分數達到 100 時則追求成功, 若分數扣到 0, 則追求失敗. 請將每次送禮物之狀況顯示在螢幕上 ( 送對或送錯以及目前感情分數 ). 程式結束時, 請顯示追求成功或失敗, 成功時可顯示笑臉 :), 失敗時可顯示哭臉 :(. 五種東西可用 0,1,2,3,4 來代替. 附加功能 : 每此送禮物可詢問男生是否要使用 幸運之符, 若使用, 則該次禮物會變成 2 選 1, 但 幸運之符 只能使用兩次. 23