




已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文由s y f y y l f y f 貢獻(xiàn) d o c 文檔可能在WAP端瀏覽體驗(yàn)不佳 建議您優(yōu)先選擇TXT 或下載源文件到本機(jī) 查看 語言程序設(shè)計(jì) C 語言程序設(shè)計(jì) 習(xí)題集 第 1 章 C 語言概述 1 1 c 語言程序的總體結(jié)構(gòu)是怎樣的 解 一個(gè)完整的 c 語言程序 是由一 個(gè) 且只能由一個(gè) m a i n 函數(shù) 又稱主函數(shù) 和若 干個(gè)其他函數(shù)結(jié)合而成的 或僅由 一個(gè) m a i n 函數(shù)構(gòu)成 1 2 c 語言程序的基本單位是什么 它的結(jié)構(gòu)又如 何 解 函數(shù)是 c 語言程序的基本模塊單元 任何函數(shù) 包括主函數(shù) m a i n 都是由函數(shù)說明 和函數(shù)體 兩部分組成 其一般結(jié)構(gòu)如下 函數(shù)類型 函數(shù)名 函數(shù)參數(shù)表 說明 語句部分 執(zhí)行語句部分 1 3 主函數(shù) m a i n 在程序中的地位如何 程序總 是 從哪個(gè)函數(shù)開始執(zhí)行 到哪個(gè)函數(shù)執(zhí)行完后結(jié)束 解 m a i n 函數(shù)的作用相當(dāng)于其他 高級(jí)語言中的主程序 其他函數(shù)的作用相當(dāng)于子程序 一個(gè) c 語言程序 總是從 m a i n 函數(shù)開始執(zhí)行 而不論 其在程序中的位置 當(dāng)主函數(shù)執(zhí) 行完畢時(shí) 亦即程序 執(zhí)行完畢 習(xí)慣上 將主函數(shù) m a i n 放在最前頭 1 4 c 語言的語句分為哪幾 類 解 按照語句功能或構(gòu)成的不同 可將 c 語言的語句分 為五類 控制語句 函 數(shù)調(diào)用語句 表達(dá)式語句 空語句和復(fù)合 語句 1 5 執(zhí)行一個(gè) c 語言程序的一般 過程是什么 解 運(yùn)行一個(gè) c 語言程序的一般過程 如下圖所示 邏 輯 錯(cuò) 5 運(yùn)行 通過觀察程序運(yùn)行結(jié)果 驗(yàn)證程序的正確性 6 退出 Tc 集成環(huán)境 結(jié)束本次程序運(yùn)行 1 6 在 Tc 集成環(huán)境下 下列操作的快捷鍵分別是什么 解 存 盤 F2 編譯與連接 F9 運(yùn)行 n F9 查看 運(yùn)行結(jié)果 Al t F5 第 2 章 數(shù)據(jù)類型 運(yùn)算符與表達(dá)式 2 1 指出下列變量名中 哪些是合法的 哪些是非 法的 如果非法 為什么 In t c h a r 345 ABd f c l o n g i n t u 51274 n 128765 f l o a t x 1 2 y 2 4 z 3 6 c h a r c 1 a c 2 b p r i n t f a 2d b 2d c 2d n a b c p r i n t f x f y f z f n x y z p r i n t f x y 5 2f y z 5 2f z x 5 2f n x y y z z x p r i n t f u 6l d n 9l d n u n p r i n t f s s d s n c 1 a o r c 1 ASCII p r i n t p a g e 1 f s s d s n c 2 a o r c 2 ASCII 3 2 用 s c a n f 下面的函數(shù)輸 入數(shù)據(jù) 使 a 3 b 7 x 8 5 y 71 82 c 1 A c 2 a 問在鍵盤上如 何 輸入 m a i n i n t a b f l o a t x y c h a r c 1c 2 s c a n f a d b d s c a n f f f C1 2 3 14 r Sa 3 14 r r Sb 4 Sa Va 4 3 14 r r r 3 Vb Sa h p r i n t f C1 2f n C1 p r i n t f Sa 2f n Sb 2f n Va 2f n Vb 2f n Sa Sb Va Vb 3 3 輸入一個(gè)華氏溫度 要求輸出攝氏溫度 公式 為 c 5 F 32 9 輸出要求有文 字說明 取位 2 小數(shù) 參考源程序如下 2 m a i n f l o a t F c s c a n f f c 5 F 32 9 p r i n t f 輸入的華氏溫 度為 2f 則攝氏溫度 為 2f f c 3 4 已知三角形的三邊長(zhǎng) 求其面積 解 假設(shè)輸入的三邊能構(gòu)成三角形 三角形的面積 公式為 Ar e a s s a s b s c 其中 S a b c 2 參考源程序如下 i n c l u d e m a t h h Ma i n Fl o a t a b c s a r e a Pr i n t f 請(qǐng)輸入三角形的三邊 Sc a n f f f f S a b c 2 0 Ar e a s q r t s s a s b s c Pr i n t f 三角形 的三邊 為 7 2f 7 2f 7 2f n a b c Pr i n f t 三角形的面積 為 7 2f n a r e a 第 4 章 選擇結(jié)構(gòu)程序設(shè)計(jì) 4 1 寫出下面表達(dá)式的值 設(shè) a 1 b 2 c 3 x 4 y 3 1 a b c s c a n f d d d i f a b i f a c t a e l s e t c e l s e i f b c t b e l s e t c p r i n t f d n t 4 3 給出一百分制成績(jī) 要求輸出成績(jī)等 級(jí) A B C D E 90 分以上為 A 80 89 分為 B 70 79 分為 C 60 69 分為 D 60 分以下為 E 參考源程序 m a i n i n t n u m b e r m d c h a r c 1 s c a n f d m d n u m b e r 10 s w i t c h m d c a s e 10 c a s e 9 c 1 A b r e a k c a s e 8 c 1 B b r e a k c a s e 7 c 1 C b r e a k c a s e 6 c 1 D b r e a k c a s e 5 c a s e 4 c a s e 3 c a s e 2 c a s e 1 c a s e 0 c 1 E b r e a k p r i n t f c n c 1 4 4 給一個(gè)不多于 5 位的正整數(shù) 要求 求出它 是幾位數(shù) 分別 打印出每一位數(shù)字 按逆順序打印 出各位數(shù)字 例如原來為 321 應(yīng)輸出 123 參考源程序 m a i n i n t a b c d e n l o n g m s c a n f l d a 0 0001 m b 10 0 0001 m a c 100 0 0001 m a 0 1 b d 1000 0 0001 m a 0 1 b 0 01 c e m 10000 a 1000 b 100 c 10 d 3 i f a 0 n 5 p r i n t f d d d d d d d d d d d n n a b c d e e d c b a e l s e i f b 0 n 4 p r i n t f d d d d d d d d d n n b c d e e d c b e l s e i f c 0 n 3 p r i n t f d d d d d d d n n c d e e d c e l s e i f d 0 n 2 p r i n t f d d d d d n n d e e d e l s e n 1 p r i n t f d d d n n e e 4 5 企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成 利潤(rùn) I 低于或 等于 10 萬元 的 獎(jiǎng)金可提 10 利潤(rùn)高于 10 萬元 低 20 萬元 10000010000000 時(shí) 超過 100 萬元的部分按 1 提成 從鍵盤 輸入當(dāng)月利潤(rùn) I 求應(yīng)發(fā)獎(jiǎng)金總數(shù) 要求 用 i f 語句編程序 用 s w i t c h 語句編程序 用 i f 語句編程序 m a i n i n t a b c d e f l o a t d 1 0 01 d 2 0 015 d 3 0 03 d 4 0 05 d 5 0 075 d 6 0 1 0 d o u b l e j j k l o n g i s c a n f l d k 0 00001 i a k 10 b k 6 c k 4 d k 2 e k 0 i f a 0 a 0 i f b 0 b 0 i f c 0 c 0 i f d 20 即求 1 2 3 4 5 20 參考源程序 m a i n i n t n i 1 l o n g s u m 0 s 1 s c a n f d w h i l e i n s s i s u m s u m s i p r i n t f s u m l d n s u m 5 2 輸入兩個(gè)正 整數(shù) m 和 n 求其最大公約數(shù)和最小 公倍數(shù) m a i n l o n g m n i 1 j s s c a n f l d l d f o r i m e l s e j n f o r j m 0j p r i n t f s l d j l d n s j 5 3 輸入一行字符 分別統(tǒng)計(jì)出其中英文字母 空 格 數(shù)字和其他字符的個(gè)數(shù) 參考源程序 i n c l u d e s t d i o h m a i n c h a r c i n t i 0 j 0 k 0 l 0 w h i l e c g e t c h a r n i f c 65 e l s e i f c 32 k e l s e l p r i n t f i d j d k d l d n i j k l 5 4 求 Sn a a a a a a a a a a a 有 n 個(gè) a 之值 其中 a 是一個(gè) 數(shù)字 例如 2 22 222 2222 22222 n 5 n 由鍵盤輸入 參考源程序 i n c l u d e m a t h h m a i n 4 i n t n s u m 0 i 1 s 2 s c a n f d w h i l e i 100b 10 0 01 x a c x 100 a 10 b i f x p o w a 3 p o w b 3 p o w c 3 p r i n t f 5d x x 5 6 一個(gè)數(shù)如 果恰好等于它的因子之和 這個(gè)數(shù)就 稱為 完數(shù) 例如 6 的因子為 1 2 3 而 6 1 2 3 因此 6 是 完數(shù) 編程序找出 1000 之內(nèi)的所有完數(shù) 并 按下面格式輸 出其因子 6 i t s f a c t o r s a r e 1 2 3 參考源程序 m a i n i n t m i j s f o r m 6 m 10000 m s 1 f o r i 2 i m i i f m i 0 s s i i f m s 0 p r i n t f 5d i t s f a s t o r s a r e 1 m f o r j 2 j m j i f m j 0 p r i n t f d j p r i n t f n 或 m a i n i n t m i j s f o r m 6 m 1000 m s m 1 5 f o r i 2 i m i i f m i 0 s s i i f s 0 p r i n t f 5d i t s f a s t o r s a r e 1 m f o r j 2 j m j i f m j 0 p r i n t f d j p r i n t f n 5 7 有一分?jǐn)?shù)序列 2 1 3 2 5 3 8 5 13 8 21 13 求出這個(gè)數(shù)列的前 20 項(xiàng) 之和 參考源程序 m a i n i n t i 1 n d o u b l e t x 1 y 2 s s u m 0 s c a n f l d w h i l e i n s y x s u m s u m s t y y y x x t i p r i n t f f n s u m 5 8 一球從 100 米高度自由下落 每次落地后返回 原高度的一半 再落下 求 它在第 10 次落地時(shí)共經(jīng)過多 少米 第 10 次反彈多高 參考源程序 m a i n i n t i n d o u b l e h 100 s 100 s c a n f d f o r i 1 i n i h 0 5 i f i 1 c o n t i n u e s 2 h s p r i n t f h f s f n h s 5 9 猴子吃桃問題 猴 子第一天摘下若干個(gè)桃子 當(dāng)即吃了一半 還不過癮 又多吃了一個(gè) 第二天早上 又將剩下的桃子吃掉一半 又多吃一個(gè) 以后每天早上 都吃了前一天剩下的一半零一 個(gè) 到第 10 天早上想再吃 時(shí) 見只剩下一個(gè)桃子了 求第一天共摘多少桃子 參 考源程序 m a i n i n t i 1 s u m 0 f o r i 0 00001 p r i n t f 3f n x 1 5 11 用二分法求方程在 10 10 之間的根 3 2 2x 4x 3x 6 0 參考源程序 m a i n d o u b l e x 1 x 2 y 1 y 2 x 1 p a g e 3 10 x 2 10 d o y 1 2 x 1 x 1 x 1 4 x 1 x 1 3 x 1 6 x 1 x 1 y 1 6 x 1 x 1 8 x 1 3 w h i l e y 1 0 d o y 2 2 x 2 x 2 x 2 4 x 2 x 2 3 x 2 6 x 2 x 2 y 2 6 x 2 x 2 8 x 2 3 w h i l e y 2 0 p r i n t f x 1 3f x 2 3f n x 1 x 2 5 12 打印以下圖案 參考源程序 i n c l u d e m a t h h m a i n i n t i 1 k l m f o r i 49 i k i 7 l 3 f a b s i 1 7 3 m f a b s i 4 7 i 1 7 i f k 1 p r i n t f n i f m l p r i n t f 6 e l s e p r i n t f p r i n t f n 第 6 章 數(shù)組 6 1 用篩選法求 100 以內(nèi)的素?cái)?shù) 參考源程序 m a i n i n t i j a 100 f o r i 2 i 100 i a i i f o r j 2 j i j i f j i i f a i j 0 b r e a k i f a i j 0 p r i n t f 5d a i p r i n t f n 或 i n c l u d e m a t h h m a i n s t a t i c i n t i j k a 98 f o r i 2 i 100 i a i i k s q r t i f o r j 2 j a i j i f j k 1 p r i n t f 5d a i p r i n t f n 6 2 求一個(gè)矩陣對(duì)角線元素之和 解 以 3 3 矩陣為例 參 考源程序如下 m a i n i n t i 0 j 0 a 3 3 s 1 s 2 f o r i 0 i 3 i f o r j 0 j 0 i i f a i 1 i p r i n t f 5d b i p r i n t f n 6 5 打印出以下楊輝三角形 要求打印出 10 行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 參考源程序 m a i n s t a t i c i n t m n k b 15 15 b 0 1 1 f o r m 1 m 15 m f o r n 1 n m n b m n b m 1 n 1 b m 1 n p r i n t f 5d b m n p r i n t f n 6 6 找出一個(gè)二位數(shù)組中的鞍點(diǎn) 即該位置上的元 素在該行上最大 在該列上 最小 也可能沒有鞍點(diǎn) 參考源程序 d e f i n e N 10 d e f i n e M 10 m a i n i n t I j m n f l a g 1 f l a g 2 a N M m a x m a x j 輸入二維數(shù)組 a r r a y 1 p r i n t f 輸 入二維數(shù)組的行數(shù) s c a n f d p r i n t f 輸入二維數(shù)組的列數(shù) s c a n f d p r i n t f 輸入二維數(shù)組 n f o r i 0 i n i f o r j 0 j m j p r i n f 請(qǐng)輸入 a 2d 2d I j s c a n f d p r i n t f n 輸出數(shù)組 p r i n f 二維數(shù)組為 n f o r i 0 i n i f o r j 0 j m j p r i n t f d t a i j p r i n t f n 尋找鞍點(diǎn) f l a g 2 0 f l a g 2 作為數(shù)組中是否有鞍點(diǎn)的標(biāo) 志 f o r i 0 i n i m a x a i 0 f o r j 0 j m a x m a x a i j m a x j j f o r k 0 f l a g 1 1 k a k m a x j j 判斷行中的最大值是否 也是列中的是大值 f l a g 1 0 i f f l a g 1 p r i n t f n 第 d 行第 d 列的 d 是鞍點(diǎn) 7 n j m a x j m a x f l a g 2 0 i f f l a g 2 p r i n t f n 無鞍點(diǎn) n 6 7 從鍵盤上輸入多個(gè)字符 編程統(tǒng)計(jì)其中字母 空格 數(shù)字及其他字符的個(gè)數(shù) 參考源程序 i n c l u d e s t d i o h Ma i n c h a r s t r 40 i n t a l p h a b e t 0 d i g i t 0 s p a c e 0 o t h e r 0 i 0 p r i n t f 請(qǐng)輸入一串字符 n g e t s s t r w h i l e s t r i o i f A s t r i e l s e i f s t r i s p a c e e l s e i f s t r i 0 d i g i t e l s e o t h e r Pr i n t f 其中有 d 個(gè)字母 d 個(gè)空格 d 個(gè)數(shù)字 d 個(gè)其他字 符 a l p h a b e t s p a c e d i g i t o t h e r 輸入學(xué)生的學(xué)號(hào)和各門課程的成績(jī) p r i n t f 請(qǐng)輸入學(xué)生數(shù) n 和課程數(shù) m s c a n f d d f o r i 1 i n i p r i n t f 請(qǐng)輸入第 d 位學(xué) 生的學(xué)號(hào) i s c a n f s a i p r i n t f 請(qǐng)按課程順序輸入成績(jī) f o r p a g e 4 j 1 j m j s c a n f f 找出每門課程最高的學(xué)生學(xué)號(hào) 課程代號(hào)和成 績(jī)并輸出 Fo r j 1 j m j s t u d i d 1 m a x s c o r e s c o r e 1 j f o r i 1 i m a x s c o r e m a x s c o r e s c o r e i j s t u d i d i Pr i n t f 第 d 門課程最高分的學(xué)生學(xué)號(hào)是 s 成績(jī)?yōu)?2f n j a s t u d i d m a x s c o r e 第 7 章 函數(shù) 7 1 寫出函數(shù)定義的一般形式 并說明各部分的意 義 解 略 7 2 函數(shù)調(diào) 用有哪幾種形式 各自有什么特點(diǎn) 解 在 C 語言中 可以用以下幾種方式調(diào)用函 數(shù) 1 函數(shù)表達(dá)式 函數(shù)作為表達(dá)式的一項(xiàng) 出現(xiàn) 在表達(dá)式中 以函數(shù)返回值參 與表達(dá)式的運(yùn) 算 這種方式要求函數(shù)是有返回值的 2 函數(shù)語句 C 語言中的函 數(shù)可以只進(jìn)行某些 操作而不返回函數(shù)值 這時(shí)的函數(shù)調(diào)用作為 一各獨(dú)立的語句 3 函數(shù)實(shí)參 函數(shù)作為另一個(gè)函數(shù)調(diào)用的實(shí)際 參數(shù)出現(xiàn) 這種情況是把該函數(shù)的 返回值作 為實(shí)參進(jìn)行傳送 因此要求該函數(shù)必須是有 返回值的 7 3 寫兩個(gè)函數(shù) 分別求兩個(gè)整數(shù)的最大公約數(shù)和 最小公倍數(shù) 用主函數(shù)調(diào)用這兩個(gè)函數(shù) 并輸出結(jié) 果兩 8 6 8 有 n 個(gè)學(xué)生 學(xué)習(xí) m 門課程 已知所有學(xué)生全 部課程的成績(jī) 要求輸出 每門課程最高分的學(xué)生學(xué)號(hào) 課程代號(hào)和成績(jī) 參考源程序 d e f i n e N 50 d e f i n e m 20 m a i n c h a r a N 10 f l o a t s c o r e N M m a x s c o r e i n t n m i j s t u d i d 個(gè)整數(shù)由鍵盤輸入 解 參考源程序 i n t m a x y u e s h u i n t m i n t n i n t m n i n t i 1 t f o r i m e l s e j n f o r j m 0j r e t u r n j m a i n i n t a b m a x m i n p r i n t f e n t e r t w o n u m b e r i s s c a n f d d m a x m a x y u e s h u a b m i n m i n b e i s h u a b p r i n t f m a x d m i n d n m a x m i n 7 4 求方程 a x b x c 0 的根 用 三個(gè)函數(shù)分別求 2 2 當(dāng) b 4a c 0 4a c 0 和 b 4a c 0 時(shí)的根 f l o a t y i s h i g e n f l o a t m f l o a t n f l o a t k f l o a t m n k f l o a t x 1 x 2 x 1 n s q r t k 2 m x 2 n s q r t k 2 m p r i n t f t w o s h i g e n i s x 1 3f a n d x 2 3f n x 1 x 2 2 求 b 4a c 0 時(shí)的根 f l o a t d e n g g e n f l o a t m f o l a t n f l o a t m n f l o a t x x 1 x 2 n 2 m p r i n t f d e n g g e n i s x 3f n x 2 2 2 求 b 4a c 0 y i s h i g e n a b q e l s e i f q 0 d e n g g e n a b e l s e x u g e n a b q 7 5 寫一個(gè)判斷素?cái)?shù)的函數(shù) 在主函數(shù)輸入一個(gè)整 數(shù) 輸出是否是素?cái)?shù)的消息 解 參考源程序 是素?cái)?shù)返回 1 否則返回 0 i n t s u s h u i s i n t m i n t m i n t i 2 t f o r i m i i f m i 0 i f m i 0 t 1 e l s e t 0 r e t u r n t m a i n i n t a s p r i n t f e n t e r n u m b e r i s n s c a n f d s s u s h u i s a i f s 1 p r i n t f a 是素?cái)?shù) n e l s e p r i n t f a 不是素?cái)?shù) n p r i n t f 5d y i p r i n t f n 9 7 6 編一個(gè)函數(shù) f u n c h a r s 把字符串中的內(nèi)容逆 置 例如 字符串中原有的 內(nèi)容為 g f e d c b a 則調(diào)用該 函數(shù)后 串中的內(nèi)容為 a b c d e f g 解 程序分析 該 題的算法是先分別找出字符串的 兩頭 然后同時(shí)逐一往中間移動(dòng) 每移動(dòng)一次都進(jìn)行 兩 字符的位置對(duì)換 直到中間字符 用 s i i n c l u d e d e f i n e N 81 f u n c h a r s i n t i 0 t n s t r l e n s f o r s i i n c l u d e v o i d f u n c h a r p 1 c h a r p 2 i n t i j f o r i 0 p 1 i i p a g e 5 10 f o r j 0 p 2 j j p 1 i p 2 j p 1 i 0 m a i n c h a r s 1 80 s 2 80 c l r s c r p r i n t f En t e r s 1 a n d s 2 n s c a n f s s s 1 s 2 p r i n t f s 1 s n s 1 p r i n t f s 2 s n s 2 p r i n t f In v o k e f u n s 1 s 2 n f u n s 1 s 2 p r i n t f Af t e r i n v o k i n g n p r i n t f s n s 1 7 8 自定義函數(shù)求 3 3 矩陣的轉(zhuǎn)置矩陣 解 程序分析 這題的關(guān)鍵在于進(jìn)行行列下標(biāo)轉(zhuǎn)換的算法 由 矩陣 的對(duì)稱性我們不難看出在進(jìn)行行列互換時(shí) a j 在好是與 a j i 互換 因而只 要我位讓程序走完矩陣的左上角即 可 用 f o r i 0 i 2 i 再套 f o r j i 1 j 3 j 來完 成左上角的走動(dòng) 參考源程序 i n c l u d e i n t f u n i n t a r r a y 3 3 i n t i j t f o r i 0 i 2 i f o r j i 1 j 3 j t a r r a y i j a r r a y i j a r r a y j i a r r a y j i t m a i n i n t i j i n t a r r a y 3 3 100 200 300 400 500 600 700 80 0 900 c l r s c r f o r i 0 i 3 i f o r j 0 j 3 j p r i n t f 7d a r r a y i j p r i n t f n f u n a r r a y p r i n t f 轉(zhuǎn)置矩陣是 n f o r i 0 i 3 i f o r j 0 j 3 j p r i n t f 7d a r r a y i j p r i n t f n 7 9 用函數(shù)實(shí)現(xiàn)牛頓迭代法求一元三次方程 的根 解 牛頓迭代法的公式是 x x 0 f x f x 設(shè) 5 迭代誤差小于 10 時(shí)結(jié) 束 參考源程序 i n c l u d e f l o a t s o l u t f l o a t a f l o a t b f l o a t c f l o a t d f l o a t x 1 x 0 f f 1 d o x 0 x f a x 0 b x 0 c x 0 d f 1 3 a x 0 2 b x 0 c x x 0 f f 1 w h i l e f a b s x x 0 1e 5 r e t u r n x m a i n f l o a t a b c d p r i n t f 請(qǐng)輸入一元三次方程的系數(shù) a b c c n s c a n f f f f f p r i n t f 一元三次方程 為 5 2f x 3 5 2f x 2 5 2f x 5 2f 0 n a b c d p r i n t f 該方程的根為 x 7 2f n s o l u t a b c d CHANGE c d s p r i n t f c d d d n c d 8 2 輸入兩個(gè)整數(shù) 求他們相 除的余數(shù) 用帶參的 宏來實(shí)現(xiàn) 編程序 d e f i n e Q a b a b m a i n i n t c d t s c a n f d d t Q c d p r i n t f t d n t 8 3 三角形面積為 三角形的面積公式為 Ar e a s s a s b s c 其中 S a b c 2 定義兩個(gè)帶參的宏 S 一個(gè)用來求 a r e a 另一個(gè)宏 用來求 寫程序 在程序中用帶 實(shí)參的宏名來求面積 a r e a i n c l u d e m a t h h d e f i n e SSS m n k m n k 2 d e f i n e AQRT m n k s q r t SSS m n k SSS m n k m SSS m n k n S SS m n k k m a i n f l o a t a b c s a r e a s c a n f f f f s SSS a b c a r e a AQRT a b c p r i n t f s 3f a r e a 3f n s a r e a 第8章 編譯預(yù)處理 8 1 定義一個(gè)帶參的宏 使兩個(gè)參數(shù)的值互換 并 寫出程序 輸入兩個(gè)數(shù)作為 使用宏時(shí)的實(shí)參 輸出已交 換后的兩個(gè)值 解 參考源程序 d e f i n e CHANGE a b t t a a b b a m a i n i n t c d s s c a n f d d 11 8 4 給年份 y e a r 定義一個(gè)宏 以判別該年份是否閏 年 提示 宏名可以定義 為 LEAP YEAR 形參為 y 解 參考源程序 d e f i n e LEAPYEAR y y 4 0 s c a n f d i f LEAPYEAR y p r i n t f d i s a n o t l e a p y e a r n y e l s e p r i n t f d i s a l e a r y e a r n y 第9章 指針 9 1 輸入三個(gè)整數(shù) 按由小到大的順序輸出 解 參考源程序 m a i n i n t a b c p 1 p 2 p 3 t s c a n f d d d p 1 p 2 p 3 i f p 1 p 2 t p 1 p 1 p 2 p 2 t i f p 1 p 3 t p 1 p 1 p 3 p 3 t i f p 2 p 3 t p 2 p 2 p 3 p 3 t p r i n t f d d d n p 1 p 2 p 3 或 m a i n i n t a b c p 1 p 2 p 3 t s c a n f d d d p 1 p 2 p 3 i f a b t p 1 p 1 p 2 p 2 t i f a c t p 1 p 1 p 3 p 3 t i f b c t p 2 p 2 p 3 p 3 t p r i n t f d d d n a b c 9 2 輸入三個(gè)字符串 按由小到大的順序輸出 d e f i n e N 3 d e f i n e M 20 m a i n c h a r s t r 0 N M s t r 1 M p q i n t i l m n q s t r 0 f o r p 0 s t r c p y s t r 1 p a g e 6 q s t r c p y q q 1 s t r c p y q 1 s t r 1 m s t r c m p q q 2 i f m 0 s t r c p y s t r 1 q s t r c p y q q 2 s t r c p y q 2 s t r 1 n s t r c m p q 1 q 2 i f n 0 s t r c p y s t r 1 q s t r c p y q 1 q 2 s t r c p y q 2 q 1 12 f o r p q p q N p p u t s p 9 3 輸入 10 個(gè)整數(shù) 將其中最小的數(shù)與第 一個(gè)數(shù)對(duì) 換 把最大的數(shù)與最后一個(gè)數(shù)對(duì)換 寫三個(gè)函數(shù) 輸 入 10 個(gè)數(shù) 進(jìn) 行處理 輸出 10 個(gè)數(shù) 解 參考源程序 v o i d f x n i n t x n i n t p 0 p 1 i j t y i j x 0 p 0 p 1 x f o r y 0 y i i x y p 0 e l s e i f x y j j x y p 1 t p 0 p 0 x n 1 x n 1 t t p 1 p 1 x 0 x 0 t r e t u r n m a i n i n t a 10 u r f o r u 0 u 10 u s c a n f d f a 10 f o r u 0 r a u 10 u r p r i n t f d a u p r i n t f n 9 4 有 n 人圍成一圈 順序排號(hào) 從第 1 個(gè)人開始 報(bào)數(shù) 從 1 到 3 報(bào)數(shù) 凡報(bào)到 3 的人退出圈子 問最后 留下的是原來的第幾號(hào)的那位 d e f i n e N 5 m a i n i n t i j k a N 1 p f o r i 0 p a p a N p a 1 i f p 0 i i f i 3 0 p 0 i 0 k p f o r i 1 i 1 e l s e p r i n t f 輸入錯(cuò)誤 i n t d a y s 13 0 31 28 31 30 31 30 31 31 30 31 30 31 s t r u c t d a t e d a t a i n t m o n t h s u m 輸入日期 Pr i n t f 請(qǐng)輸入日期 年月日間用逗號(hào)隔開 n Sc a n f d d d 計(jì)算天數(shù) Fo r m o n t h 1 s u m 0 m o n t h 2 s u m l e a p d a t a y e a r 輸出結(jié)果 Pr i n t f d 年 d 月 d 日是 d 年的第 d 天 d a t a y e a r d a t a m o n t h d a t a d a y d a t a y e a r s u m 10 2 某學(xué)習(xí)小組有 5 個(gè)人 每個(gè)人的信息包括 學(xué)號(hào) 姓名 和成績(jī) 要求從鍵盤上輸入他們的信息 并 求出平均成績(jī)以及最高成績(jī)者的信息 解 參考源程序 d e f i n e NUM 5 i n c l u d e c o n i o h 定義學(xué)生信息結(jié)構(gòu)類型 s t r u c t s t u d e n t s c h a r n o 7 n a m e 9 i n t s c o r e 主函數(shù) m a i n s t r u c t s t u d e n t s t u NUM i n t c o u n t m a x 0 s u m 0 輸入學(xué)生信息 f o r c o u n t 0 c o u n t s t u m a x s c o r e 13 第10章 結(jié)構(gòu)與鏈表 10 1 定義一個(gè)日期結(jié)構(gòu)變量 由年 月 日 3 個(gè)整 形數(shù)據(jù)組成 計(jì)算該日期 是本年度的第幾日 解 參考源程序 定義日期結(jié)構(gòu)類型 s t r u c t d a t e i n t y e a r m o n t h d a y 自定義函數(shù) l e a p 判斷是否閏年 i n t l e a p i n t y e a r i n t y f l a g 0 i f y 4 0 r e t u r n f l a g 主函數(shù) m a i n m a x c o u n t 輸出平均成績(jī)和最高成績(jī)學(xué)生的信息 p r i n t f n a v e r a g e 2f n f l o a t s u m NUM p r i n t f 最高成績(jī)者信息 n p r i n t f 學(xué)號(hào) s n s t u m a x n o p r i n t f 姓名 s n s t u m a x n a m e p r i n t f 分?jǐn)?shù) s n s t u m a x s c o r e g e t c h 10 3 編寫一個(gè)程序 使用單鏈表作數(shù)據(jù)結(jié)構(gòu) p a g e 7 解 決 Jo s e p h u s 問題 Jo s e p h u s 問題描述如下 設(shè)有 n 個(gè) 人圍坐一圈 現(xiàn)從第 s 個(gè)人開始報(bào)數(shù) 數(shù)到 m 的人出列 然后從出列的下一個(gè)人重新開始報(bào)數(shù) 數(shù)到 m 的人出 列 如此反復(fù) 直至所有的人都出列 Jo s e p h u s 問 題是 對(duì)于任意給 定的 n s 和 m s n m n o i f n e w n o 1 f r e e n e w b r e a k c o u n t 2 將新結(jié)點(diǎn)插入到鏈表尾 并設(shè)置 新的尾 指針 n e w n e x t NULL i f c o u n t 1 h e a d n e w 是第一個(gè) 結(jié)點(diǎn)則置頭指針 14 e l s e t a i l n e x t n e w t a i l n e w r e t u r n h e a d 求出列順序 返回出 列單鏈表的頭指針 s t r u c t n o d e j o s e p h u s s t r u c t n o d e h e a d i n t n i n t s i n t m s t r u c t n o d e p p r i o r h e a d o u t t a i l o u t i n t c o u n t n u m 0 查找 開始位置 p h e a d p r i o r NULL f o r c o u n t 1 c o u n t n e x t 報(bào)數(shù)出列 w h i l e n u m n 1 從 S 開始報(bào)數(shù) 報(bào)到 m 的人出列 c o u n t 1 f o r c o u n t n e x t NULL p r i o r NULL p h e a d e l s e p r i o r p p p n e x t 出列處 理 p r i o r n e x t p n e x t n u m 將出列結(jié)點(diǎn)插入到出列鏈表中 i f n u m 1 h e a o u t t a i l o u t p e l s e t a i l o u t n e x t p t a i l o u t p i f p h e a d h e a d h e a d n e x t i f p n e x t NULL p h e a d e l s e p p n e x t 將最后出列的結(jié)點(diǎn)插入 到出列鏈表中 t a i l o u t n e x t p p n e x t NULL r e t u r n h e a d o u t v o i d m a i n s t r u c t n o d e h e a d h e a d o u t h e a d c r e a t e h e a d o u t j o s p h u s h e a d 7 2 5 p r i n t f o u t o f t h e q u e u e n w h i l e h e a d o u t NULL p r i n t f d h e a d o u t n o h e a d o u t h e a d o u t n e x t g e t c h 第 11 章 文件 11 1 從鍵盤輸入一個(gè)字符串 將小寫字母全部轉(zhuǎn)換成大 寫字母 然后輸出到一 個(gè)磁盤文件 t e s t 中保存 輸入的字符串以 結(jié)束 1 程序分析 2 程序源代碼 i n c l u d e s t d i o h m a i n FILE f p c h a r s t r 100 f i l e n a m e 10 i n t i 0 i f f p f o p e n t e s t w NULL p r i n t f c a n n o t o p e n t h e f i l e n e x i t 0 p r i n t f p l e a s e i n p u t a s t r i n g n g e t s s t r w h i l e s t r i i f s t r i a f p u t c s t r i f p i f c l o s e f p f p f o p e n t e s t r f g e t s s t r s t r l e n s t r 1 f p p r i n t f s n s t r f c l o s e f p s t u 5 m a i n i n t i j s u m FILE f p i n p u t f o r i 0 i 5 i p r i n t f n p l e a s e i n p u t No d s c o r e n i p r i n t f s t u No s c a n f s s t u i n u m p r i n t f n a m e s c a n f s s t u i n a m e s u m 0 f o r j 0 j 3 j p r i n t f s c o r e d j 1 s c a n f d s u m s t u i s c o r e j s t u i a v r s u m 3 0 f p f o p e n s t u d w f o r i 0 i c s c a n f d d d i f a b i f a c t a e l s e t c e l s e i f b c t b e l s e t c p r i n t f d n t 4 3 給出一百分制成績(jī) 要求輸出成績(jī)等 級(jí) A B C D E 90 分以上為 A 80 89 分為 B 70 79 分為 C 60 69 分為 D 60 分以下為 E 參考源程序 m a i n i n t n u m b e r m d c h a r c 1 s c a n f d m d n u m b e r 10 s w i t c h m d c a s e 10 c a s e 9 c 1 A b r e a k c a s e 8 c 1 B b r e a k c a s e 7 c 1 C b r e a k c a s e 6 c 1 D b r e a k c a s e 5 c a s e 4 c a s e 3 c a s e 2 c a s e 1 c a s e 0 c 1 E b r e a k p r i n t f c n c 1 4 4 給一個(gè)不多于 5 位的正整數(shù) 要求 求出它 是幾位數(shù) 分別 打印出每一位數(shù)字 按逆順序打印 出各位數(shù)字 例如原來為 321 應(yīng)輸出 123 參考源程序 m a i n i n t a b c d e n l o n g m s c a n f l d a 0 0001 m b 10 0 0001 m a c 100 0 0001 m a 0 1 b d 1000 0 0001 m a 0 1 b 0 01 c e m 10000 a 1000 b 100 c 10 d 3 i f a 0 n 5 p r i n t f d d d d d d d d d d d n n a b c d e e d c b a e l s e i f b 0 n 4 p r i n t f d d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度浙江省二級(jí)造價(jià)工程師之建設(shè)工程造價(jià)管理基礎(chǔ)知識(shí)通關(guān)題庫(kù)(附帶答案)
- 2024年度浙江省二級(jí)造價(jià)工程師之安裝工程建設(shè)工程計(jì)量與計(jì)價(jià)實(shí)務(wù)通關(guān)題庫(kù)(附帶答案)
- 2024年度浙江省二級(jí)造價(jià)工程師之土建建設(shè)工程計(jì)量與計(jì)價(jià)實(shí)務(wù)模擬試題(含答案)
- 整形美容培訓(xùn)指南
- 氣管插管的固定及護(hù)理
- 制作毛絨公仔課件
- 腫瘤科普基礎(chǔ)知識(shí)
- 科技制作培訓(xùn)
- 腫瘤生物學(xué)行為
- 手術(shù)前后護(hù)理流程
- 城鎮(zhèn)燃?xì)鈭?chǎng)站經(jīng)營(yíng)企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化評(píng)分標(biāo)準(zhǔn)
- 小家電領(lǐng)域:小熊電器企業(yè)組織結(jié)構(gòu)及部門職責(zé)
- 成都麓湖社群實(shí)操、方法論方案
- 60Si2Mn汽車板簧熱處理工藝設(shè)計(jì)
- 2021年石家莊交通投資發(fā)展集團(tuán)有限責(zé)任公司招聘筆試試題及答案解析
- 彭氏五千年簡(jiǎn)明族譜
- 壓延薄膜成型故障的成因及對(duì)策
- 醫(yī)院感染管理組織架構(gòu)圖
- 5-電氣綠色專篇
- 外國(guó)城建史(復(fù)習(xí)整理)
- 高考語文必備古詩(shī)文(含翻譯及賞析)
評(píng)論
0/150
提交評(píng)論