C語言編程練習(xí)之選擇結(jié)構(gòu)_第1頁
C語言編程練習(xí)之選擇結(jié)構(gòu)_第2頁
C語言編程練習(xí)之選擇結(jié)構(gòu)_第3頁
C語言編程練習(xí)之選擇結(jié)構(gòu)_第4頁
C語言編程練習(xí)之選擇結(jié)構(gòu)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1 . 12-24小時(shí)制編寫一個(gè)程序,要求用戶輸入24小時(shí)制的時(shí)間,然后顯示12小時(shí)制的時(shí)間。輸入格式:輸入在一行中給出帶有中間的:符號(hào)(半角的冒號(hào))的24小時(shí)制的時(shí)間,如12:34 表示12點(diǎn)34分。當(dāng)小時(shí)或分鐘數(shù)小于10時(shí),均沒有前導(dǎo)的零,如5:6表示5 點(diǎn)零6分。提示:在scanf的格式字符串中加入:,讓scanf來處理這個(gè)冒號(hào)。輸出格式:在一行中輸出這個(gè)時(shí)間對應(yīng)的12小時(shí)制的時(shí)間,數(shù)字部分格式與輸入的相同, 然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM 表示下午5點(diǎn)零6分。注意,在英文的習(xí)慣中,中午12點(diǎn)被認(rèn)為是下午,所以24小時(shí)制的12:00就是12

2、小時(shí)制的12:0 PM;而0點(diǎn)被認(rèn)為是第二天的時(shí)間, 所以是0:0 AM。輸入樣例:21:11輸出樣例:9:11 PM(1)編程思路。按輸入的小時(shí)hour分成3種情況:1) hour12,輸出 hour-12、minute 及字符串 PM。寫成簡單的ifelse if結(jié)構(gòu)。(2)源程序。#include int main()int hour,minute;scanf(%d:%d”,&hour,&minute);if (hour12)printf(%d:%d AMn ,hour,minute);else if (hour=12)printf(%d:%d PMn ,hour,minute);els

3、eprintf(%d:%d PMn,hour -12,minute);return 0;2 .三天打魚兩天曬網(wǎng)中國有句俗語叫“三天打魚兩天曬網(wǎng)”。假設(shè)某人從某天起,開始“三天打魚兩天曬網(wǎng)”,問這個(gè)人在以后的第N天中是“打魚”還是“曬網(wǎng)”?輸入格式:輸入在一行中給出一個(gè)不超過 1000的正整數(shù)No輸出格式:在一行中輸出此人在第N天中是“Fishing”(即“打魚”)還是“Drying”(即“曬 網(wǎng)”),并且輸出“in day N”。輸入樣例1:103輸出樣例1:Fishing in day 103輸入樣例2:34輸出樣例2:Drying in day 341) )編程思路。按輸入的N五天一個(gè)周期

4、,因此分成兩種情況:2) N%5等于1或2或3,打魚;3) N%5等于4或0,曬網(wǎng)。寫成簡單的ifelse結(jié)構(gòu)。(2)源程序。#include int main()int n;scanf(%d,&n);if (n%5=1 & n%5=3)printf(Fishing in day %dn,n);elseprintf(Drying in day %dn,n);return 0;3.計(jì)算符號(hào)函數(shù)的值對于任一整數(shù)n,符號(hào)函數(shù)sign(n)的定義如下:-i c 0)請編寫程序計(jì)算該函數(shù)對任一輸入整數(shù)的值。輸入格式:輸入在一行中給出整數(shù)n。輸出格式:在一行中按照格式“ sign(n)=函數(shù)值”輸出該整數(shù)

5、n對應(yīng)的函數(shù)值。輸入樣例:10輸出樣例:sign(10) = 1(1)編程思路。按給定函數(shù)的三種賦值情況編寫簡單的ifelse if結(jié)構(gòu)。(2)源程序。#include int main()int n;scanf(%d,&n);if (n0)printf(sign(%d) = 1n”,n);else if (n=0)printf(sign(%d) = 0n”,n);elseprintf(sign(%d) = -1n,n);return 0;4.階梯電價(jià)為了提倡居民節(jié)約用電,某省電力公司執(zhí)行“階梯電價(jià)”,安裝一戶一表的 居民用戶電價(jià)分為兩個(gè)“階梯”:月用電量50千瓦時(shí)(含50千瓦時(shí))以內(nèi)的, 電

6、價(jià)為0.53元/千瓦時(shí);超過50千瓦時(shí)的,超出部分的用電量,電價(jià)上調(diào)0.05 元/千瓦時(shí)。請編寫程序計(jì)算電費(fèi)。輸入格式:輸入在一行中給出某用戶的月用電量(單位:千瓦時(shí))。輸出格式:在一行中輸出該用戶應(yīng)支付的電費(fèi)(元),結(jié)果保留兩位小數(shù),格式如:cost =應(yīng) 付電費(fèi)值”;若用電量小于0,則卒&出Invalid Value!。輸入樣例1:10輸出樣例1:cost = 5.30輸入樣例2:100輸出樣例2:cost = 55.50(1)編程思路。根據(jù)輸入白用電量x編寫嵌套的ifelse結(jié)構(gòu)。先按用電量的正負(fù)(x=0),嵌套一個(gè)if - else結(jié)構(gòu)計(jì)算電費(fèi)值。 (2)源程序。#include in

7、t main()int x;double y;scanf(%d,&x);if (x0)printf(Invalid Value!n);elseif (x=50)y=0.53*x;elsey=0.53*x+(x -50)*0.05;printf(cost = %.2fn,y);)return 0;5.兩個(gè)數(shù)的簡單計(jì)算器本題要求編寫一個(gè)簡單計(jì)算器程序, 可根據(jù)輸入的運(yùn)算符,對2個(gè)整數(shù)進(jìn)行 加、減、乘、除或求余運(yùn)算。題目保證輸入和輸出均不超過整型范圍。輸入格式:輸入在一行中依次輸入操作數(shù)1、運(yùn)算符、操作數(shù)2,其間以1個(gè)空格分隔。操 作數(shù)的數(shù)據(jù)類型為整型,且保證除法和求余的分母非零。輸出格式:當(dāng)運(yùn)算符

8、為+、-、*、/、時(shí),在一行輸出相應(yīng)的運(yùn)算結(jié)果。若輸入是非法符號(hào) (即除了加、減、乘、除和求余五種運(yùn)算符以外的其他符號(hào))則輸出ERROR。輸入樣例1:-7 / 2輸出樣例1:-3輸入樣例2:3 & 6輸出樣例2:ERROR(1)編程思路。根據(jù)輸入的操作符情況,進(jìn)行處理。采用sw計(jì)chcase結(jié)構(gòu)可以很好地解決這個(gè)問題。(2)源程序。#include int main()int num1,num2;char op;scanf(%d %c %d,&num1,&op,&num2);switch(op)case +:printf(%dn,num1+num2); break; case -:printf

9、(%dn,num1 -num2); break;caseprintf(%dn,num1*num2); break; case /:printf(%dn,num1/num2); break;printf(%dn,num1%num2); break;default:printf(ERRORn);return 0;6 .判斷輸入的字符是哪種類型通過鍵盤輸入一個(gè)字符,編程判斷并輸出用戶輸入的是什么類型的字符輸入格式:輸入一個(gè)字符。輸出格式:在一行中輸出該字符是哪種類型的字符。若用戶輸入字符為0和9之間,輸出This is a digit.若用戶輸入字符在A和Z之間,輸出This is a capita

10、l letter.若用戶輸入字符在a和z之間,輸出This is a small letter.其他情況,輸出Other character.輸入樣例:7輸出樣例:This is a digit.(1)編程思路。根據(jù)輸入字符ch的四種輸出情況編寫簡單的ifelse if結(jié)構(gòu)。(2)源程序。#include int main()(char ch;scanf(%c,&ch);if (ch=0 & ch=A & ch=a & ch=z)printf(This is a small letter.n);elseprintf(Other character.n); return 0;)8 .計(jì)算工資某公

11、司員工的工資計(jì)算方法如下:一周內(nèi)工作時(shí)間不超過40小時(shí),按正常工作時(shí)間計(jì)酬;超出40小時(shí)的工作時(shí)間部分,按正常工作時(shí)間報(bào)酬的1.5倍計(jì)酬。員工按進(jìn)公司時(shí)間分為新職工和老職工,進(jìn)公司不少于5年的員工為老職工, 5年以下的為新職工。新職工的正常工資為30元/小時(shí),老職工的正常工資為50元/小時(shí)。請按該計(jì)酬方式計(jì)算員工的工資。輸入格式:輸入在一行中給出2個(gè)正整數(shù),分別為某員工入職年數(shù)和周工作時(shí)間,其間以空格分隔。輸出格式:在一行輸出該員工的周薪,精確到小數(shù)點(diǎn)后2位。輸入樣例1:5 40輸出樣例1:2000.00輸入樣例2:3 50輸出樣例2:1650.00(1)編程思路。先根據(jù)員工白入職年數(shù)year

12、s確定其時(shí)薪hourlyPay (一個(gè)簡單的if else 結(jié)構(gòu)),再根據(jù)周工作時(shí)間worktime計(jì)算其周新weeklyPay(也是一個(gè)簡單的if else 結(jié)構(gòu))。(2)源程序。#include int main() int years,worktime,hourlyPay;double weeklyPay;scanf(%d%d,&years,&worktime);if (years=5)hourlyPay=50;elsehourlyPay=30;if (worktime=40)weeklyPay=worktime*hourlyPay;elseweeklyPay=40*hourlyPay+1.5*(worktime -40)*hourlyPay;printf(%.2fn,weeklyPay);return 0;8.成績轉(zhuǎn)換本題要求編寫程序?qū)⒁粋€(gè)百分制成績轉(zhuǎn)換為五分制成績。轉(zhuǎn)換規(guī)則:大于等于90分為A;小于90且大于等于80為B;小于80且大于等于70為C;小于70且大于等于60為D;小于60為E。輸入格式:輸入在一行中給出一個(gè)整數(shù)的百分制成績。輸出格式:在一行中輸出對應(yīng)的五分制成績。輸入樣例:90輸出樣例:A(1)編程思路。根據(jù)轉(zhuǎn)換規(guī)則的5種情況編寫簡單的if -

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論