Microsoft PowerPoint - 07b1 Max and Sum.ppt [相容模式]

Similar documents

(A) 二 小 時 (B) 三 小 時 (C) 四 小 時 (D) 五 小 時 第 一 組 出 題 6. 若 對 於 收 到 的 交 通 違 規 罰 單 不 服, 在 收 到 罰 單 幾 日 內 須 向 警 察 機 關 或 監 理 機 關 申 訴? (A) 十 天 (B) 十 五 天 (C) 二 十

"# $ % & $# $ % & "!! " # $! %(() * )(


untitled

2016 年 地 质 工 程 系 教 学 工 作 安 排 2016 学 年 我 系 将 在 总 结 过 去 工 作 的 基 础 上, 结 合 今 年 学 院 以 抓 质 量 强 内 涵 促 改 革 调 结 构 建 品 牌 细 管 理 重 过 程 为 宗 旨, 以 规 范 管 理 深 化 内 涵 为

<4D F736F F D203136BCADBBD8D2E4D3EBD1D0BEBF2E646F63>

萧山中学课程建设方案.doc


Microsoft Word - 9pinggb_A4.doc

Microsoft Word - 9pinggb_A4-f4.doc

理 论 探 索 事 业 单 位 改 革 的 五 点 思 考 余 路 [ 摘 要 ] 事 业 单 位 改 革 是 中 国 改 革 的 重 要 环 节, 其 影 响 力 和 难 度 不 亚 于 国 有 企 业 改 革 本 文 着 重 围 绕 推 进 事 业 单 位 改 革 应 考 虑 的 五 个 方 面

日 本 位 于 亚 洲 东 部, 太 平 洋 西 北 角, 是 我 国 东 方 的 一 个 岛 国 在 洪 积 世 ( 注 1) 的 大 部 分 时 期 内, 日 本 与 大 陆 相 连 大 约 在 洪 积 世 晚 期 至 冲 积 世 ( 注 2) 初 期, 日 本 各 地 发 生 海 进, 出 现

2深化教育教学改革、创新人才培养模式


Microsoft Word - 9pinggb_let.doc

实 习 上 下 点 表 格 解 释 和 相 关 纪 律 要 求 : 1 表 格 中 所 有 名 词 都 为 简 称, 包 括 医 院 名 称 四 年 级 五 年 级 各 专 业 名 称 等 所 有 时 间 都 为 学 生 装 好 行 李 出 发 时 间, 请 提 前 0 分 钟 将 行 李 运 到

简报158期.doc

Microsoft Word - 9pingb5_let.doc

退休權益.ppt [相容模式]

Microsoft Word - 1.《國文》試題評析.doc

Ps22Pdf

$%%& ()*+, %&, %-&&%%,. $ %,, $,, & /$- 0(1 $%%& %& 234 %-%, 5&%6&633 & 3%%, 3-%, %643 -%%% :::; 7<9; %-%, 3$%$ :::;

# $# #!# # # # # # # %# # # &# # # # #! "

zt

3 基 金 杠 杆 从 分 级 基 金 的 概 念, 我 们 知 道 了 分 级 基 金 的 A 份 额 是 每 年 获 得 固 定 收 益 的 稳 健 份 额,B 份 额 是 具 有 杠 杆 效 应 的 激 进 份 额 分 级 基 金 中 的 杠 杆 一 般 有 三 类 : 份 额 杠 杆 =(A

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

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

上海市本科教学质量年度报告

untitled

[1] (p.28) / / 3 4 [1] (p.26) [2] (p.171)


chap07.key


zt

C/C++基礎程式設計班

! $%%&! (!"# $%%& $) * +, -. / 0 *-./ 0 /1 -!!!!!! 21.!!!!!! 31 /!!!!!! 41 0 $%%& )% $%%& 5 $%%& 6 $%%& $%%& ( #!! " #

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

CC213

光華高中104學年度第一學期二年級體育常識測驗題庫

《中国小百科全书(5):技术科学》

國 立 台 南 二 中 104 學 年 度 第 二 學 期 第 一 次 期 中 考 高 三 國 文 科 解 答 壹 選 擇 題 1 B 2 B 3 C 4 A 5 A 6 C 7 B 8 C 9 B 10 D 11 A 12 D 13 A 14 B 15 B 16 D 17 A 18 AB 19 E

Microsoft Word - 第5-7章


94 預防保健 問題二 : 子宮頸抹片 檢查報告編號 1 至 18, 是否數字越大? 代表罹癌風險也越大?

14. 阿 亮 在 寒 假 春 節 期 間 與 父 母 到 一 座 廟 裡 拜 拜, 廟 裡 的 神 有 掌 生 死 簿 的 判 官 勾 攝 生 魂 的 黑 白 無 常 執 行 拘 提 魂 魄 的 牛 頭 馬 面, 整 間 廟 看 起 來 有 些 陰 森, 請 問 阿 亮 到 了 哪 一 座 廟 內

( 一 ) 全 面 贯 彻 党 和 国 家 的 教 育 方 针 政 策, 落 实 国 家 有 关 教 育 的 法 律 法 规 ; 研 究 草 拟 江 苏 省 教 育 法 规 和 政 策, 并 组 织 实 施 ( 二 ) 研 究 教 育 发 展 战 略 思 路, 统 筹 规 划 协 调 指 导 江 苏

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架

Microsoft Word - temp71.doc

<443A5C B75705CC4DAC8DD5CD2BBA1A2C6C0B9C0CEC4BCFE5C312EA1B6BDCCD3FDB2BFB0ECB9ABCCFCB9D8D3DAC8ABC3E6BFAAD5B9B8DFD6B0B8DFD7A8D4BAD0A3C8CBB2C5C5E0D1F8B9A4D7F7CBAEC6BDC6C0B9C0B5C4CDA8D6AAA1B7A3A8BDCCB8DFCCFC5B D3136BAC5A3A92E646F6

5( " &$"" & & #! # # # # # # # # # # $ % & &( )( # # # *+,-,.. /012 # # "" # 3 % # # # # # ) &$"4 # # # # # # # # # # # # &$"! # & # ""!

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

99710a72ZW.PDF

) ) ) )-. ) ) / )-. )-. )-. -. : -/ -0 0/.. ; -.0 : 0 ).- ; 0 ).=? 2 2 ) / / ) - ; ) ; )/ :.0/10)/ / 34 ; )/ 10. ; / 0 )

OHSMS考试大纲 终.doc

untitled

一、理事長的心聲……………………………………………

中國醫藥大學生物統計中心 2013/April 提升 SAS 效率的小技巧 ( 一 ) 統計分析師嚴友君在使用 SAS 的時候, 效率的考量除了程式運行的時間, 還包括資料佔用的空間 暫存記憶體的使用量 程式的長度與易讀性等等 本主題將介紹一些初學者容易應用, 且在討論使用 SAS 處理 分析資料時

2. S 輸入一個整數 n, 求出從 1 ~ n 所有可以被 3 整除及又可以被 7 整除所有 的數字的總和的程式 ( 請上傳 Sum_3_7.py 檔 ) Sum_3_7.py 程式樣版 n = int(input()

!"# $%& %!"# $%& %!"#$%& %! ( )***%% ) $)! +**+),,* -)+.* )( ) +, +*.*)+..**! )$,*)+$))$!"!#

A.68 B.70 C.80 D.100 答 案 A 解 析 丁 产 品 的 可 变 现 净 值 =110-2=108( 万 元 ), 成 本 =100+40=140( 万 元 ), 可 变 现 净 值 低 于 成 本, 产 品 发 生 的 减 值, 所 以 丙 材 料 的 可 变 现 净 值 =1

untitled

ttian

! "#$%& $()*+#$, $(-.&,./.+#/(-.&01( &-#&(&$# (&2*(,#-3.,14& $ +()5(*-#5(-#/-/#(-1#&-+)(& :;<<= > A B?

Microsoft Word - 人事管理制度汇编* doc

2011-论文选集-2.cdr

Microsoft Word 职称安排修改 于.docx

3-2 連比例 連比的運算性質 a b c 0 a b c (a m) (b m) (c m

黄镇目录.tpf

Microsoft Word - ACL chapter02-5ed.docx


2 A

《新工具》


!!" #" $" #%%& #%%& #

Microsoft Word - ok翁志文、張佳音...doc

論鄭玄對《禮記‧月令》的考辨



Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

Microsoft PowerPoint - 04-array_pointer.ppt

Microsoft Word - _m30.doc

ACI pdf

PowerPoint Presentation

A. 经 行 政 机 关 负 责 人 批 准, 可 以 先 行 封 存 证 据 B. 经 行 政 机 关 集 体 讨 论 决 定, 可 以 先 行 扣 押 证 据 C. 经 行 政 机 关 负 责 人 批 准, 可 以 先 行 登 记 保 存 证 据 D. 经 行 政 机 关 负 责 人 批 准,

2

2006..,1..,2.,.,2..,3..,3 22..,4..,4 :..,5..,5 :..,5..,6..,6..,8..,10 :..,12..,1..,6..,6.., ,5,:..,1 :..,1 :..,1 :..,2..,2..,3 :..,1 :..,1..,1.

/5 9/9 9/22 9/26 9/29 0/3 源 源 不 絕 的 太 陽 能 源 感 恩 寫 作 散 文 名 篇 選 讀 : 季 節 三 月 合 歡 雪 / 陳 列 與 太 陽 能 相 關 唐 詩 宋 詞 ; 並 請 學 生 探 討 附 件 詩 詞 環 保 概 念 與 可 利 用

科別

zt

第一章 人物传

湖南大学2006年硕士研究生招生学科、专业目录

002 机 械 与 运 载 工 程 学 院 力 学 01 固 体 力 学 02 工 程 力 学 03 一 般 力 学 与 力 学 基 础 04 流 体 力 学 机 械 工 程 01 机 械 制 造 及 其 自 动 化 02 机 械 电 子 工 程 03 机 械 设 计 及

项 目 管 理 01( 非 全 日 制 ) 土 木 工 程 项 目 管 理 项 目 管 理 概 论 F0110 土 木 工 程 经 济 与 决 策 002 机 械 与 运 载 工 程 学 院 力 学 01( 全 日 制 ) 固 体 力 学 02( 全 日 制


資料結構之C語言重點複習

FZUBRIDGE

gongGaoMingCheng

投影片 1

Transcription:

找出 n 個數字的最大值 與計算 n 個數字的總和 練習目標 : 1. 簡化題目的要求 2. 漸進式地完成所有的要求 3. 掌握 for 迴圈的應用時機 4. 練習 for 迴圈的語法, 瞭解各部份執行的順序 5. 體會迴圈如何有效運用電腦的運算能力 丁培毅 1

找出 n 個數字裡的最大值 請撰寫一個程式 讀取下列的整數輸入 (n>0) n a 1 a 2 a n 計算並且印出 {a 1, a 2,, a n } 裡面的最大值 2

分析 : 1. 簡化一下要求, 如果輸入只有兩個數字, 例如 :74, 希望印出最大值 3

分析 : 1. 簡化一下要求, 如果輸入只有兩個數字, 例如 :74, 希望印出最大值 2. 程式需要讀這兩個整數進來, 放到整數變數 a 與 b 裡 3

分析 : 1. 簡化一下要求, 如果輸入只有兩個數字, 例如 :74, 希望印出最大值 2. 程式需要讀這兩個整數進來, 放到整數變數 a 與 b 裡 int a, b; scanf("%d%d", &a, &b); 3

分析 : 1. 簡化一下要求, 如果輸入只有兩個數字, 例如 :74, 希望印出最大值 2. 程式需要讀這兩個整數進來, 放到整數變數 a 與 b 裡 int a, b; scanf("%d%d", &a, &b); 3. 接下來需要判斷那一個數字比較大, 列印它 3

分析 : 1. 簡化一下要求, 如果輸入只有兩個數字, 例如 :74, 希望印出最大值 2. 程式需要讀這兩個整數進來, 放到整數變數 a 與 b 裡 int a, b; scanf("%d%d", &a, &b); 3. 接下來需要判斷那一個數字比較大, 列印它 if (a>=b) printf("%d\n", a); else printf("%d\n", b); 3

分析 : 1. 簡化一下要求, 如果輸入只有兩個數字, 例如 :74, 希望印出最大值 2. 程式需要讀這兩個整數進來, 放到整數變數 a 與 b 裡 int a, b; scanf("%d%d", &a, &b); 3. 接下來需要判斷那一個數字比較大, 列印它 if (a>=b) printf("%d\n", a); else printf("%d\n", b); 4. 要設計處理一般化資料的程式, 可以逐步擴增程式的能力, 如果輸入有三個數字, 例如 : 7 4 9, 希望印出最大值, 很直覺地擴充上面的程式, 設計三個變數來存放資料 int a, b, c; scanf("%d%d%d", &a, &b, &c); 3

5. 直接擴充時, 條件判斷式變得比較複雜了 4

if ((a>=b)&&(a>=c)) 5. 直接擴充時, 條件判斷式 printf("%d\n", a); 變得比較複雜了 else if ((b>=a)&&(b>=c) printf("%d\n", b); else printf("%d\n", c); 4

if ((a>=b)&&(a>=c)) 5. 直接擴充時, 條件判斷式 printf("%d\n", a); 變得比較複雜了 else if ((b>=a)&&(b>=c) printf("%d\n", b); 6. 要處理到 n 筆資料時如果像上面 else 一樣需要 n 個變數來紀錄並且比 printf("%d\n", c); 較大小, 這樣子的程式會有點困難 : 4

if ((a>=b)&&(a>=c)) 5. 直接擴充時, 條件判斷式 printf("%d\n", a); 變得比較複雜了 else if ((b>=a)&&(b>=c) printf("%d\n", b); 6. 要處理到 n 筆資料時如果像上面 else 一樣需要 n 個變數來紀錄並且比 printf("%d\n", c); 較大小, 這樣子的程式會有點困難 : A. 要設計 n 個變數在程式裡還不算麻煩, 但是需要使用陣列或是動態配置的語法 B. 真正的困難應該是條件判斷式的複雜度隨著 n 增加 4

if ((a>=b)&&(a>=c)) 5. 直接擴充時, 條件判斷式 printf("%d\n", a); 變得比較複雜了 else if ((b>=a)&&(b>=c) printf("%d\n", b); 6. 要處理到 n 筆資料時如果像上面 else 一樣需要 n 個變數來紀錄並且比 printf("%d\n", c); 較大小, 這樣子的程式會有點困難 : A. 要設計 n 個變數在程式裡還不算麻煩, 但是需要使用陣列或是動態配置的語法 B. 真正的困難應該是條件判斷式的複雜度隨著 n 增加 因此需要換一個找最大值的作法, 如果你看到 1000 個小朋友排隊走過來, 想要找出裡面最高的, 空間不夠沒有辦法通通留下來比較高矮, 你有可能會把到目前為止最高的留下, 每一個比他矮的就讓他走過去, 比他高的就留下來取代原來的 4

if ((a>=b)&&(a>=c)) 5. 直接擴充時, 條件判斷式 printf("%d\n", a); 變得比較複雜了 else if ((b>=a)&&(b>=c) printf("%d\n", b); 6. 要處理到 n 筆資料時如果像上面 else 一樣需要 n 個變數來紀錄並且比 printf("%d\n", c); 較大小, 這樣子的程式會有點困難 : A. 要設計 n 個變數在程式裡還不算麻煩, 但是需要使用陣列或是動態配置的語法 B. 真正的困難應該是條件判斷式的複雜度隨著 n 增加 因此需要換一個找最大值的作法, 如果你看到 1000 個小朋友排隊走過來, 想要找出裡面最高的, 空間不夠沒有辦法通通留下來比較高矮, 你有可能 int max, a, b, c; 會把到目前為止最高的 scanf("%d%d%d", &a, &b, &c); 留下, 每一個比他矮的就 max = a; 讓他走過去, 比他高的就 if (b > max) max = b; 留下來取代原來的 if (c > max) max = c; 4

7. 問題還沒解決完, 繼續擴展這個程式時每多處理一筆資料就需要多一個變數, 比對到變數 c 時, 先前的變數 a, b 裡的資料好像就沒有再用到了, 目前每一個變數的功能在於讀到資料以後先紀錄下來, 以便逐一比對, 有必要這樣多一筆資料就多用一個變數嗎?? 有必要一次就把資料都讀到變數裡嗎?? 好像不需要!! 5

7. 問題還沒解決完, 繼續擴展這個程式時每多處理一筆資料就需要多一個變數, 比對到變數 c 時, 先前的變數 a, b 裡的資料好像就沒有再用到了, 目前每一個變數的功能在於讀到資料以後先紀錄下來, 以便逐一比對, 有必要這樣多一筆資料就多用一個變數嗎?? 有必要一次就把資料都讀到變數裡嗎?? 好像不需要!! int max, a, b, c; scanf("%d", &a); max = a; scanf("%d", &b); if (b > max) max = b; scanf("%d", &c); if (c > max) max = c; 5

7. 問題還沒解決完, 繼續擴展這個程式時每多處理一筆資料就需要多一個變數, 比對到變數 c 時, 先前的變數 a, b 裡的資料好像就沒有再用到了, 目前每一個變數的功能在於讀到資料以後先紀錄下來, 以便逐一比對, 有必要這樣多一筆資料就多用一個變數嗎?? 有必要一次就把資料都讀到變數裡嗎?? 好像不需要!! 8. 既然可以在需要的時候再讀進變數裡, 比對完裡面的資料就可以丟棄, 所以不需要那麼多變數了, 只需要 max 和 b, 繼續擴充下去時也只要複製最後兩列程式 int max, a, b, c; scanf("%d", &a); max = a; scanf("%d", &b); if (b > max) max = b; scanf("%d", &c); if (c > max) max = c; 5

7. 問題還沒解決完, 繼續擴展這個程式時每多處理一筆資料就需要多一個變數, 比對到變數 c 時, 先前的變數 a, b 裡的資料好像就沒有再用到了, 目前每一個變數的功能在於讀到資料以後先紀錄下來, 以便逐一比對, 有必要這樣多一筆資料就多用一個變數嗎?? 有必要一次就把資料都讀到變數裡嗎?? 好像不需要!! 8. 既然可以在需要的時候再讀進變數裡, 比對完裡面的資料就可以丟棄, 所以不需要那麼多變數了, 只需要 max 和 b, 繼續擴充下去時也只要複製最後兩列程式 int max, a, b, c; scanf("%d", &a); max = a; scanf("%d", &b); if (b > max) max = b; scanf("%d", &c); if (c > max) max = c; int max, b; scanf("%d", %d,&max); scanf("%d", &b); if (b > max) max = b; scanf("%d", &b); if (b > max) max = b; 5

int max, a, b, c; 7. 問題還沒解決完, 繼續擴展這個程式時每 scanf("%d", &a); 多處理一筆資料就需要多一個變數, 比對 max = a; 到變數 c 時, 先前的變數 a, b 裡的資料 scanf("%d", &b); 好像就沒有再用到了, 目前每一個變數的 if (b > max) max = b; 功能在於讀到資料以後先紀錄下來, 以便 scanf("%d", &c); 逐一比對, 有必要這樣多一筆資料就多用 if (c > max) max = c; 一個變數嗎?? 有必要一次就把資料都讀到變數裡嗎?? 好像不需要!! int max, b; scanf("%d", %d,&max); 8. 既然可以在需要的時候再讀進變數裡, 比 scanf("%d", &b); 對完裡面的資料就可以丟棄, 所以不需要 if (b > max) max = b; 那麼多變數了, 只需要 max 和 b, 繼續擴 scanf("%d", &b); 充下去時也只要複製最後兩列程式 if (b > max) max = b; 9. 聽到 複製與貼上 其實代表的一定是迴圈, 可以用迴圈的語法來處理輸入資料 : 4 3 7 2 5 5

int max, a, b, c; 7. 問題還沒解決完, 繼續擴展這個程式時每 scanf("%d", &a); 多處理一筆資料就需要多一個變數, 比對 max = a; 到變數 c 時, 先前的變數 a, b 裡的資料 scanf("%d", &b); 好像就沒有再用到了, 目前每一個變數的 if (b > max) max = b; 功能在於讀到資料以後先紀錄下來, 以便 scanf("%d", &c); 逐一比對, 有必要這樣多一筆資料就多用 if (c > max) max = c; 一個變數嗎?? 有必要一次就把資料都讀到變數裡嗎?? 好像不需要!! int max, b; scanf("%d", %d,&max); 8. 既然可以在需要的時候再讀進變數裡, 比 scanf("%d", &b); 對完裡面的資料就可以丟棄, 所以不需要 if (b > max) max = b; 那麼多變數了, 只需要 max 和 b, 繼續擴 scanf("%d", &b); 充下去時也只要複製最後兩列程式 if (b > max) max = b; 9. 聽到 複製與貼上 其實代表的一定是迴圈, 可以用迴圈的語法來處理輸入資料 : 4 3 7 2 5 for (i=1; i<n; i++) { int max, b, n, i; scanf("%d" %d, &b); scanf("%d%d", &n, &max); if (b > max) max = b; } 5

計算 n 個數字的總和 請撰寫一個程式 讀取下列的整數輸入 (n>0) n a 1 a 2 a n 計算並且印出 a 1 + a 2 + + a n 6

計算 n 個數字的總和 請撰寫一個程式 讀取下列的整數輸入 (n>0) n a 1 a 2 a n 計算並且印出 a 1 + a 2 + + a n 1. 理論上可以寫一個程式, 定義 n 個變數, 一次讀入所有資料, 再寫一個很長的加法敘述加總並且列印, 可是就是寫得很辛苦又很沒有彈性 6

計算 n 個數字的總和 請撰寫一個程式 讀取下列的整數輸入 (n>0) n a 1 a 2 a n 計算並且印出 a 1 + a 2 + + a n 1. 理論上可以寫一個程式, 定義 n 個變數, 一次讀入所有資料, 再寫一個很長的加法敘述加總並且列印, 可是就是寫得很辛苦又很沒有彈性 int n, a, b, c, d, e, f; scanf("%d%d%d%d%d%d%d", &n,&,a,&b,&c,&d,&e,&f); &a&b&c&d &e&f); printf("%d\n", a + b + c + d + e + f); 6

2. 實際上這個問題的簡化方法, 迴圈建構方法和前一個問題一模一樣, 雖然你也許覺得還蠻簡單的, 應該可以跳過去, 直接寫程式就好了, 但是因為這個解決問題的程序還蠻標準的, 你可能在很多問題裡都會遇見, 請快速回顧一下或是練習推演一次 7

2. 實際上這個問題的簡化方法, 迴圈建構方法和前一個問題一模一樣, 雖然你也許覺得還蠻簡單的, 應該可以跳過去, 直接寫程式就好了, 但是因為這個解決問題的程序還蠻標準的, 你可能在很多問題裡都會遇見, 請快速回顧一下或是練習推演一次 int sum, b, n, i; scanf("%d%d", (% % &n, &sum); for (i=1; i<n; i++) { scanf("%d", &b); sum += b; } printf("%d\n", sum); 7