哈工大語言試驗(yàn)題_第1頁
哈工大語言試驗(yàn)題_第2頁
哈工大語言試驗(yàn)題_第3頁
哈工大語言試驗(yàn)題_第4頁
哈工大語言試驗(yàn)題_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Q308.(i0分)第5章實(shí)驗(yàn)2:體型判斷。 醫(yī)務(wù)工作者經(jīng)廣泛的調(diào)查和統(tǒng)計(jì)分析,根據(jù)身高與體重因素給出了以下按“體指 數(shù)”進(jìn)行體型判斷的方法。體指數(shù)計(jì)算公式是: t=w/(h*h) 其中:t是體指數(shù);w是體重,其單位為千克;h是身高,其單位為米。根據(jù)給 定的體指數(shù)t計(jì)算公式,可判斷你的體重屬于何種類型: 當(dāng)t18時(shí),為低體重; 當(dāng)18&t25時(shí),為正常體重; 當(dāng)250t27時(shí),為肥胖。 *輸入提示信息格式:Pleaseenterh,w:n *輸入數(shù)據(jù)格式要求:f,%f(先讀入身高,再讀入體重,身高以米讀入,體重以千克讀入) *輸出數(shù)據(jù)格式要求: 當(dāng)t18時(shí),輸出:Lowerweight

2、!n 當(dāng)180t25時(shí),輸出:Standardweight!n 當(dāng)250t27時(shí),輸出:Toofat!n #include #include main() floatt,w,h; printf(Pleaseenterh,w:n); t=w/(h*h); if(t=18&t=25&t27) printf(Higherweight!n); else printf(Toofat!n); return0; Q586.( 10分)編寫一個(gè)程序,輸入年份和月份,判斷該年是否是閏年,并根據(jù)給出的月 份判斷是什么季節(jié)和該月有多少天?(閏年的條件是年份能被4整除但不能被 100整除,或者能被40

3、0整除;規(guī)定35月為春季,68月為夏季,911月為秋季,1、2和12月為冬季)。 *輸入格式要求:%d,%d提示信息:Pleaseenteryear,month: *輸出格式要求:%disleapyearn%disnotleapyearnTheseason isspring/summer/autumn/winterThenumberofdaysofthismonthis%dn 程序運(yùn)行示例如下: 實(shí)例1:Pleaseenteryear,month:2012,11 2012isleapyear Theseasonisautumn Thenumberofdaysofthismonthis30 實(shí)例

4、2: Pleaseenteryear,month:2013,12 2013isnotleapyear Theseasoniswinter Thenumberofdaysofthismonthis31 #include #include main() intyear=0,leap=0,mon=0,day=0; printf(Pleaseenteryear,month:); scanf(%d,%d,&year,&mon); if(year%100!=0&year%4=0)|(year%100=0&year%400=0)printf(%disleapyearn,yea

5、r); leap=1; else printf(%disnotleapyearn,year); switch(mon) case 2: case12:printf(Theseasoniswintern); break; case 3: case 4: case5:printf(Theseasonisspringn); break; case 6: case 7: case8:printf(Theseasonissummern); break; case 9: case 10: case11:printf(Theseasonisautumnn); break; switch(mon) case1

6、: case3: case5: case 7: case 8: case10: case12:day=31; break; case4: case6: case9: case11:day=30; break; case2: if(leap=1) day=29; else day=28;printf(Thenumberofdaysofthismonthis%dn,day); Q3161.(i0分)請(qǐng)用elseif多分支條件判斷語句編程設(shè)計(jì)一個(gè)簡單的計(jì)算器程序。要求: (1)請(qǐng)用戶按以下形式從鍵盤輸入表達(dá)式:操作數(shù)運(yùn)算符op操作數(shù) (2)然后計(jì)算表達(dá)式的值 * *輸入提示信息*:無 * *輸入數(shù)據(jù)

7、格式*:%f%c%f * *輸出數(shù)據(jù)格式*:%.2f%c%.2f=%.2fn 若若輸入的運(yùn)算符是除法運(yùn)算符/,當(dāng)除數(shù)為0時(shí),輸出數(shù)據(jù)格式為:datis0!Error!n 若輸入的運(yùn)算符不是加(+)、減(-)、乘(*)、除(/),則輸出數(shù)據(jù)格式為:Error!n 友情提示: 用戶輸入的運(yùn)算符為算術(shù)運(yùn)算符:加(+)、減(-)、乘(*)、除(/)。用字符變量op表示; 操作數(shù)和操作數(shù)為浮點(diǎn)型數(shù)據(jù),分別用浮點(diǎn)型變量dat1、dat2表示。 程序運(yùn)行結(jié)果如下所示: 1+2/ += #include #include main() floata=0,b=0; charop; scanf(%f%c%f,&a

8、mp;a,&op,&b); if(op=+) printf(%,2f%c%.2f=%.2fn,a ,op,b,a+b); elseif(op=-) printf(%.2f%c%.2f=%.2fn,a ,op,b,a-b); elseif(op=*) printf(%.2f%c%.2f=%.2fn,a ,op,b,a*b); elseif(op=/) if(b!=0) printf(%.2f%c%.2f=% .2fn,a,op,b,a/b); else printf(datis 0!Error!n); else printf(Error!n); Q3185.(I0分)實(shí)驗(yàn)二(20

9、16春劉秉權(quán)C語言課):根據(jù)輸入的百分制成績score,轉(zhuǎn)換成相應(yīng)的五分制成績grade后輸出。 轉(zhuǎn)換規(guī)則為(要求用switch語句實(shí)現(xiàn)): 當(dāng)score大于等于90且小于等于100時(shí),grade=A; 當(dāng)score大于等于80且小于90時(shí),grade=B; 當(dāng)score大于等于70且小于80時(shí),grade=C; 當(dāng)score大于等于60且小于70時(shí),grade=D; 當(dāng)score大于等于0且小于60時(shí),grade=E。 格式要求: 輸入提示:Pleaseenterscore: 輸出形式形如:100-A、75-C、0-E 當(dāng)輸入分?jǐn)?shù)不正確時(shí),輸出:Inputerror! #include ma

10、in() ints,m; printf(Pleaseenter score:); scanf(%d,&s); m=s100?-1:s/10; switch(m) case10: case9:printf (%d-An,s); break; case8:printf (%d-Bn,s); break; case7:printf (%d-Cn,s); break; case6:printf (%d-Dn,s); break; case5: case4: case3: case2: case1: case0:printf(%d-En,s); break; default:printf( In

11、puterror!); Q221.(10分)編程從鍵盤輸入某年某月(包括閏年),用switch語句編程輸出該年的該月?lián)碛械奶鞌?shù)。要求考慮閏年以及輸入月份不在合法范圍內(nèi)的情況。已知閏年的2月有29天,平年的2月有28天。 *輸入格式要求:%d,%d提示信息:Inputyear,month: *輸出格式要求:31daysn29daysn28daysnInputerror!n 程序運(yùn)行示例如下: Inputyear,month:2004,2 29days #include main() inta,b; printf(Inputyear,month:); scanf(%4d,%2d,&a,&a

12、mp;b);switch(b) case1: case3: case5: case 7: case 8: case10: case12: printf(31daysn); break; case4: case6: case9: case11: printf(30daysn); break; case2: if(a%4=0&a%100!=0)|a% 400=0) printf(29daysn); else printf(28daysn); break; default: printf(Inputerror!n); ) return0; ) Q210.(10分)第7章實(shí)驗(yàn)任務(wù)1: 所謂素?cái)?shù)

13、是指這個(gè)數(shù)只能被1和自身整除。 要求在主函數(shù)輸入一個(gè)數(shù), 調(diào)用函數(shù)Fun()判斷該數(shù)是否是素?cái)?shù)。打印信息在主函數(shù)中進(jìn)行。例如:從鍵盤輸入5,5是素?cái)?shù)則打印如下信息:5isaprimenumber. 又如:從鍵盤輸入4,4不是素?cái)?shù)則打印如下信息:4isnotaprimenumber 負(fù)數(shù)、0和1均不是素?cái)?shù)。對(duì)輸入的數(shù)據(jù)要考慮數(shù)據(jù)的合法性,不滿足條件的數(shù) 要重新輸入直到滿足條件為止。不能使用全局變量,不按給定的函數(shù)原型編寫程序 不給分。Fun()函數(shù)原型如下: intFun(intm); * *輸入數(shù)據(jù)提示信息:Pleaseinputanumber:n 注:該提示信息請(qǐng)放在循環(huán)體外 * *輸入數(shù)據(jù)

14、格式為:d * *輸出格式要求: 若是素?cái)?shù)輸出數(shù)據(jù)格式為:disaprimenumbern 若不是素?cái)?shù)輸出數(shù)據(jù)格式為:disnotaprimenumbern #include #include intFun(intm); main() inta; printf(Pleaseinputanumber:n); while(scanf(%d,&a) if(a0&a!=1&Fun(a) =1) printf(%disaprime numbern,a); else printf(%disnotaprimenumbern,a); break; return0; intFun(int

15、m) ( inti,result; result=1; if(m!=2) ( for(i=2;im;i+) ( if(m%i=0) ( result=0; break; ) ) ) returnresult; ) Q3185.(10分)實(shí)驗(yàn)二(2016春劉秉權(quán)C語言課): 根據(jù)輸入的百分制成績score,轉(zhuǎn)換成相應(yīng)的五分制成績grade后輸出。 轉(zhuǎn)換規(guī)則為(要求用switch語句實(shí)現(xiàn)): 當(dāng)score大于等于90且小于等于100時(shí),grade=A; 當(dāng)score大于等于80且小于90時(shí),grade=B; 當(dāng)score大于等于70且小于80時(shí),grade=C; 當(dāng)score大于等于60且小于70

16、時(shí),grade=D; 當(dāng)score大于等于0且小于60時(shí),grade=E。 格式要求: 輸入提示:Pleaseenterscore: 輸出形式形如:100-A、75-C、0-E 當(dāng)輸入分?jǐn)?shù)不正確時(shí),輸出:Inputerror! #include main() ints,m; printf(Pleaseenter score:); scanf(%d,&s); m=s100?-1:s/10; switch(m) case10: case9:printf (%d-An,s); break; case8:printf (%d-Bn,s); break; case7:printf (%d-Cn,

17、s); break; case6:printf (%d-Dn,s); break; case5: case 4: case 3: case 2: case 1: case 0:printf break; default:printf( Inputerror!); Q1709.(I0分)第6章實(shí)驗(yàn)1:國王的許諾 相傳國際象棋是古印度舍罕王的宰相達(dá)依爾發(fā)明的。舍罕王十分喜歡象棋,決定 讓宰相自己選擇何種賞賜。這位聰明的宰相指著8X8共64格的象棋盤說:陛下,請(qǐng)您賞給我一些麥子吧,就在棋盤的第1個(gè)格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盤上的64個(gè)格子,

18、我就感恩不盡了。舍罕王讓人扛來一袋麥子,他要兌現(xiàn)他的許諾。請(qǐng)問:國王能兌現(xiàn)他的許諾嗎?試編程計(jì)算舍罕王共要多少麥子賞賜他的宰相,這些麥子合多 少立方米(已知1立方米麥子約粒)? 注:(1)不能使用指針、結(jié)構(gòu)體、共用體、文件、goto、枚舉類型進(jìn)行編程 (2)用標(biāo)準(zhǔn)C語言編程,所有變量必須在第一條可執(zhí)行語句前定義。 (3)輸入輸出格式要和以下給定格式完全一致。 *輸入格式:無 *輸出格式: sum=%en volum=%en %盛示double類型 #include #includemain() ( inti; doubles,v; s=0; for(i=0;i=63; i+) s=s+ pow

19、(2,i); v=s/; printf(sum =%en,s); printf(volum =%en,v); return0; Q1719.(IO分)第7章實(shí)驗(yàn)任務(wù)3 從鍵盤任意輸入一個(gè)整數(shù)n,編程計(jì)算并輸出1n之間的所有素?cái)?shù)之和 輸入提示信息:Inputn: 輸入格式:d 輸出格式:sum=%dn #include #includeintFun(intm); main() ( intn,i,s;s=0; printf(Input n:); scanf(%d,&n); for(i=2;i=n;i+ ) if(Fun(i )=1) s=s+i; printf(sum =%dn,s); r

20、eturn0; intFun(intm) inti,result; result=1; if(m!=2) for(i= 2;im;i+) if(m%i=0) result=0; break; returnresult; Q1720C0分)第7章實(shí)驗(yàn)任務(wù)6 從鍵盤任意輸入一個(gè)整數(shù)m,若m不是素?cái)?shù),則對(duì)m進(jìn)行質(zhì)因數(shù)分解,并將m表示為質(zhì)因數(shù)從小到大順序排列的乘積形式輸出,否則輸出Itisaprime number0例如,用戶輸入90時(shí),程序輸出90=2*3*3*5;用戶輸入17 時(shí),程序輸出Itisaprimenumber。 輸入提示信息:Inputm: 輸入格式:d 輸出格式: 是素?cái)?shù)時(shí)輸出Iti

21、saprimenumbern 否則輸出用%d=,%d* 運(yùn)行示例1: Inputm:90/ 90=2*3*3*5 運(yùn)行示例2: Inputm:13/ Itisaprimenumber #includeintFun(intm); intIsPerfect(intm); main() ( intm,i,p; printf(Inputm:);scanf(%d,&m); p=m; if(Fun(m)=1) printf(Itisaprimenumbern); else printf(%d=,m); for(i=2;im;i+) if(p%IsPerfect(i)=0&p/IsPerfe

22、ct(i)!=1&IsPerfect(i)!=1) printf(%d*,i); else if(p%IsPerfect(i)=0&p/IsPerfect(i)=1&IsPerfect(i)!=1) printf(%d,i);break; ) else continue; p=p/i; while(p%i=0) if(p/i!=1) printf(%d*,i);p=p/i; )else printf(%d,i);break; ) ) ) ) return0; intFun(intm) ( inti,result; result=1; if(m!=2) ( for(i=2

23、;im;i+) ( if(m%i=0) ( result=0;break; returnresult; intIsPerfect(intm) ( inti,result; result=1; if(m!=2) ( for(i=2;i=m;i+) ( if(m%i=0)break; elseif(m%i!=1&m/i!=1)continue; else result=m; else result=2; returnresult; Q198.(i0分)第7章實(shí)驗(yàn)任務(wù)5 如果一個(gè)正整數(shù)m的所有小于m的不同因子(包括1)加起來正好等于m本身,那么就被稱它為完全數(shù)。它是指這樣的一些特殊的自然數(shù),

24、它所有的真因子(即除了自身以外的約數(shù))的和,恰好等于它本身。 注意:1沒有真因子,所以不是完全數(shù)。例如,6就是一個(gè)完全數(shù),是因?yàn)?=1 +2+3o 請(qǐng)編寫一個(gè)判斷完全數(shù)的函數(shù)IsPerfect (),然后判斷從鍵盤輸入的整數(shù)是否是完全數(shù)。 要求:按如下原型編寫判斷完全數(shù)的函數(shù),若函數(shù)返回0,則代表不是完全數(shù), 若返回1,則代表是完全數(shù)。 intIsPerfect(intx); * *要求輸入提示信息為:Inputm:n * *要求輸入格式為:“d * *要求輸出格式為 %disaperfectnumbern %disnotaperfectnumbern 注:不能使用指針、結(jié)構(gòu)體、共用體、文件、

25、goto、枚舉類型進(jìn)行編程,主函數(shù) * 能使用intmain和return0。 #includeintIsPerfect(intm); main() inta; printf(Inputm:n);scanf(%d,&a); if(IsPerfect(a)=1) printf(%disaperfectnumbern,a); else printf(%disnotaperfectnumbern,a); intIsPerfect(intm)inti,s,find; s=0; for(i=1;im;i+)if(m%i=0)s=s+i; else continue; if(s=m)find=1;

26、 else find=0;returnfind; Q3168.(io分)編程從鍵盤輸入一個(gè)小寫英文字母,將其轉(zhuǎn)換為大寫英文字母,并將轉(zhuǎn)換后的大寫英文字母及其十進(jìn)制的ASCII碼值顯示到屏幕上。 * *輸入提示信息*:Pleaseinputalow-caseletterfromkeyboard: * *輸入數(shù)據(jù)格式*:%c * *輸出數(shù)據(jù)格式*:ThecapitalletteranditsASCIIvalueare:%cand%d. 提示:從鍵盤輸入一個(gè)字符可用scanf也可用getchar #includemain()( chara; printf(Pleaseinputalow-casele

27、tterfromkeyboard:); a=getchar(); a=a-32; printf(ThecapitalletteranditsASCIIvalueare:%cand%d.,a,a); Q324110分)實(shí)驗(yàn)三(2016春劉秉權(quán)C語言課):已知公式e=1+1/1! +1/2!+1/3!+.+1/n!,編程計(jì)算e的近似值,直到最后一項(xiàng)的絕對(duì)值小 于1e-7時(shí)為止,輸入e的值并統(tǒng)計(jì)累加的項(xiàng)數(shù)。要求:按順序輸出每一個(gè)e值,小數(shù)點(diǎn)后保留8位有效數(shù)字,輸出格式形如:e=2.,count=4(回車換行,count為累加的項(xiàng)數(shù)) #includedoublefun(intn); main() (

28、 inti,c; doublee; c=0; e=0; for(i=0;i=11;i+) ( e=e+fun(i); c+; printf(e=%.8lf,count=%dn,e,c); doublefun(intn) ( doubleresult; inti; i=1; result=1; do ( result=result*i; i+; ) while(i=n); result=/result; returnresult; ) Q1710.(10分)第7章實(shí)驗(yàn)任務(wù)4: 任意輸入一個(gè)整數(shù)m,若m不是素?cái)?shù),則輸出其所有不包括則輸出“沒有因子,是素?cái)?shù)”的相關(guān)提示信息。 輸入提示信息:Pleaseenteranumber: 輸入格式:d 輸出格式: 有因子時(shí):%dn 無因子時(shí):Itisaprimedivisor!n 輸入為1,0,-1時(shí):Itisnotaprimedivisor!n #include #includeintFun

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論