animejp 發表於 2014-3-23 17:59

由片語學C程式設計 CHAPTER 5 迴圈 範例題目

本帖最後由 animejp 於 2014-3-23 18:27 編輯

因工作需要,回頭開始學最基本的C,參考了許多書籍都不符合自己學習方式,最後選擇了這本書 (但本書並未提供作業解答)
若您正在學習這本書,且跟我一樣尷尬(國中、高中數學忘光了),希望這系列的帖子能給您小小的幫助
因本身未學習過任何程式語言,初學中,所以這系列的帖子會出的很慢,請見諒

學習環境:Linux
編譯器:gcc

書名:由片語學習C程式設計
作者:劉邦鋒
出版者:國立臺灣大學出版中心
ISBN:978-986-03-3464-7

於 2014.03.21 獲得作者劉邦鋒教授許可,授權後學公開此書籍所有內容
小小心願:如果有討論需求,期請於「範例題目」或「作業題目」帖子回文討論;避免於「範例解答」及「作業參考解答」帖子回文討論
目的:希望能完整排版、依序記錄,供學習者參考


CHAPTER 5 迴圈 範例題目 (共13題)

除範例13未修改,其餘範例皆親自增加或修改(題目、輸入、輸出、提示、註解)

5.1 whilew迴圈

while (condition)
    statement;


範例1:寫一程式讀入一正整數a,計算出10的倍數中大於讀入數字之最小值,並在螢幕上顯示答案
輸入:23輸出:30
輸入:30輸出:40



animejp 發表於 2014-3-23 18:02

本帖最後由 animejp 於 2014-3-23 18:04 編輯

5.1.1 使用複合敘述的while迴圈

while (condition){    statement1;
    statement2;
    statement3;
}


範例2:寫一程式讀入2整數a, b,計算a加到b的和。
輸入:1輸入:10輸出:55
輸入:10輸入:1輸出:55

animejp 發表於 2014-3-23 18:05

範例3:寫一程式讀入2整數a, b,計算a和b的最大公因數。
輸入:56輸入:72輸出:8
輸入:143輸入:78輸出:13

animejp 發表於 2014-3-23 18:07

本帖最後由 animejp 於 2014-3-23 18:08 編輯

5.2 for迴圈

for (initialization; condition;adjustment)
    statement;


範例4:寫一程式讀入一正整數a,在螢幕上由小到大依序輸出1到a之間所有的整數
輸入:5輸出:1輸出:2輸出:3輸出:4輸出:5

animejp 發表於 2014-3-23 18:08

範例5:寫一程式讀入一正整數,使用for if判斷其是否為質數。若為質數則輸出1;若非質數則輸出2。
輸入:73輸出:1
輸入:529輸出:2

animejp 發表於 2014-3-23 18:10

本帖最後由 animejp 於 2014-3-23 18:11 編輯

5.2.1 使用複合敘述的for迴圈

for (initialization; condition; adjustment)
{
    statement1;
    statement1;
    statement1;}

範例6:寫一程式讀入一正整數i,使用for迴圈計算由1到i的和、平方和立方和。
輸入:10輸出:55輸出:385輸出:3025

animejp 發表於 2014-3-23 18:12

5.3 do while迴圈

do
    statement;
while (condition);


範例7:寫一程式讀入一正整數i,使用do while迴圈輸出i + 5 的值
輸入:20輸出:25

animejp 發表於 2014-3-23 18:14

本帖最後由 animejp 於 2014-3-23 18:15 編輯

5.3.1 使用複合敘述的do while迴圈

do
{
statement1;
statement2;
statement3;
}
while (cond);

範例8:寫一程式讀入一正整數i,使用do while迴圈計算由1到i的和、平方和立方和。
輸入:20輸出:210輸出:2870輸出:44100

animejp 發表於 2014-3-23 18:16

5.4 使用break結束迴圈

if (break_condition)
    break;


範例9:(修改自範例5) 寫一程式讀入一正整數i,使用for,if, break判斷其是否為質數。若為質數則輸出3;若非質數則輸出-3。
提示:若發現該數非質數,則break結束迴圈,結省運算時間
輸入:73輸出:3
輸入:529輸出:-3

animejp 發表於 2014-3-23 18:18

範例10:(修正自範例9) 寫一程式讀入一正整數i,判斷其是否為質數。若為質數則輸出4;若非質數則輸出5。
註:不使用break,改將break納入條件,一樣達到結省運算時間的目的
提示:condition內有雙條件
輸入:73輸出:4
輸入:529輸出:5
頁: [1] 2
查看完整版本: 由片語學C程式設計 CHAPTER 5 迴圈 範例題目