C語言慕課編程題在線測(cè)試新_第1頁
C語言慕課編程題在線測(cè)試新_第2頁
C語言慕課編程題在線測(cè)試新_第3頁
C語言慕課編程題在線測(cè)試新_第4頁
C語言慕課編程題在線測(cè)試新_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一1.1題目容:使用printf()在屏幕上輸出hello world!提示:#inelude int main()printffhello world!nH);return 0;輸入格式:無輸出格式:輸出提示信息:Hhello world!nH輸入樣例:輸出樣例:hello world!#inelude int main()printf(hello world!n);return 0;1.2在屏幕上輸出多行信息(3分)題目容:使用printf()函數(shù)在屏幕上輸出以下多行信息:hello world!hello hit!hello everyone!提示:在printf()函數(shù)中轉(zhuǎn)義字符n表

2、示換行。輸入格式:輸出格式:輸出提示信息:hello world!nMhello hit!nHhello everyone!nM輸入樣例:輸出樣例:hello world!hello hit!hello every one!#include int main()printf(hello world !n);printf(hello hit!n);printf(hello everyone !nH);return 0;1.3計(jì)算半圓弧的周長(zhǎng)及半圓面積(3分)題目容:編程并輸出半徑r=5.3的半圓弧的周長(zhǎng)及該半圓的面積.兀的収值為3.14159=要求半徑r和兀必須利用宏常量表示。輸入格式:無輸出格

3、式:半圓的面積輸出格式:HArea=%AnH半圓弧的周長(zhǎng)輸出格式:Hcircumference=%fnH輸入樣例:輸出樣例:Area=44.123632circumference=16.650427#include #define PI 3.14159#define R 5.3 int main()printf(llArea=%fn,/ R*R*PI/2);printf(,circumference=%fn,/ 2*R*PI/2);return 0;1.4計(jì)算長(zhǎng)方體體積(3分)題目容:編程并輸出長(zhǎng)1.2、寬4.3、高6.4的長(zhǎng)方體的體積。要求長(zhǎng)方體的長(zhǎng)、寬、高必須利用const常量表示。輸入格

4、式:無輸出格式:長(zhǎng)方體的體積輸出格式:” volume=%.3fn輸入樣例:輸出樣例:#includeint main()const float 1=1.2;const float x=4.3;const float y=6.4;printf(,volume=%.3fn/ l*x*y); return 0;弟二早3.1計(jì)算兩個(gè)數(shù)的平方和(3分)題目容:從犍盤入兩個(gè)實(shí)數(shù),編程計(jì)算并輸出它們的平方和,要求使用數(shù)學(xué)函數(shù)pow(x,y)計(jì)算平方值,輸出結(jié)果保留2位小數(shù)。提示:使用數(shù)學(xué)函數(shù)需要在程序中加入編譯預(yù)處理命令include 以下為程序的輸出示例:please in put x and y:1.

5、2,3.4/result= 13.00輸入格式:n%f,%r輸出格式:輸入提示信息please input x and y:rf輸入樣例:輸出樣例:#in clude#in cludeint main()prin tf(Mplease in put x and y:nj;float x, y;scan&x, &y);printf(result=%.2fn,/ pow(x,2)+pow(yz2);return 0;逆序數(shù)的拆分計(jì)算(3分)題目容:從鍵盤輸入一個(gè)4位數(shù)的整數(shù),編程計(jì)算并輸出它的逆序數(shù)(忽略整數(shù)前的正負(fù)號(hào))。例如,輸入-1234,忽略負(fù)號(hào),III 1234分離出 其位1、百位2、十位

6、3、個(gè)位4,然后計(jì)算4*1000+3*100+2*10+1 =4321,并輸出4321 =.再將得到的逆序數(shù)4321拆分為兩個(gè)2 位數(shù)的正整數(shù)43和21,計(jì)算并輸出拆分后的兩個(gè)數(shù)的平方和的結(jié)果。以下是程序的輸出示例:Input x:-1234 / y=4321a=x/1000;b=x/100%10;c=x/10%10;d=x%10;printf(,y=%dn,/d*1000+c*100+b*10+a);printf(a=%d/b=%dn,/ d*10+c/ b*10+a);printf(,result=%dn,/ (b*10+a)*(b*10+a)+(d*10+c)*(d*10+c);retu

7、rn 0;拆分英文名(3分)題目容:從鍵盤輸入某同啓的英文名(小寫輸入,假設(shè)學(xué)生的英文名只包金3個(gè)字母。如:tom),編寫程序在屏幕上輸出該同學(xué)的英文名,且 首字母大寫(如:Tom)。同時(shí)輸出組成該英文名的所有英文字符在26個(gè)英文字母中的序號(hào)以下為程序的輸出示例:in put your En glish n ame:tom/Tomt:20o:15m:13輸入格式:H%c%c%cH輸出格式: 輸入提示信息input your English name:nH首字母大寫的英文的輸出格式:H%c%c%cnH中每個(gè)字母在26個(gè)英文字母中的序號(hào)的輸出格式:M%c:%dnH輸入樣例:輸出樣例:#in clu

8、deint main()printf(Hinput your English name:nJ;char a, b, c;scanf(,%c%c%c/ &a, &b &c);printf(”c%c%cn: a+,A,Ja,/ b, c);printf(%c:%drf: a, a-a+l);printf(,%c:%dn,/ b, b-a+l);printf(%c:%drf: c, c-a+l);return 0;計(jì)算體指數(shù)(3分)題目容:從鍵盤輸入某人的身高(以厘米為單位,如174cm)和體重(以公斤為單位,如70公斤),將身高(以米為單位,如1.742和體 重(以斤為單位,如140斤輸出在屏幕上

9、,并按照以下公式計(jì)算并輸出體指數(shù),要求結(jié)果保留到小數(shù)點(diǎn)后2位。假設(shè)體重為w公斤,身高為h米,則體指數(shù)的計(jì)算公式為:t = w/h2以下是程序的輸出示例:in put weight, height:70,174 /weight=140height=1.74t=23.12輸入格式:H%d,%dH輸出格式:輸入提示信息:input weight, height:rT (注總:在height和逗號(hào)之間有一個(gè)空格)體重輸出格式:Mweight=%dnM身高輸出格式:Hheight=%.2fnH體指數(shù)輸出格式:Ht=%.2fnH輸入樣例:輸出樣例:#in cludeint main()int x, y;p

10、rintf(Minput weight, height:nM);scanf(l,%d,%d,/ &x, &y);printf (weight=%dn,/ x*2);printf(height=%.2fn,/ y/100.0);printf(,t=%.2fn,/ x/(y/100.0)*(y/100.0);return 0;數(shù)位拆分v20 (4分)題目容:從鍵盤上輸入一個(gè)4位數(shù)的整數(shù)n,編寫程序?qū)⑵洳鸱譃閮蓚€(gè)2位數(shù)的整數(shù)a和b,計(jì)算并輸出拆分后的兩個(gè)數(shù)的加、蔽、乘、除和 求余運(yùn)算的結(jié)果。例如n=-4321,設(shè)拆分后的兩個(gè)整數(shù)為a,b,則a=-43,b=-21除法運(yùn)算結(jié)果要求楮確到小數(shù)點(diǎn)后2位。求

11、余和除法運(yùn) 算需要考慮除數(shù)為0的惜況,即如果拆分后E0,則輸出提示信息“the second operater is zero!”程序的運(yùn)行結(jié)果示例1:please in put n:1200/12,0sum=12,sub=12,multi=0the second operater is zero!程序的運(yùn)行結(jié)果示例2:please in put n:-2304 / -23,-4sum 二 27,sub 9,multi=92dev=5.75,mod=-3輸入格式:”d”輸出格式:輸入提示信息please input n:rT拆分后的兩個(gè)整數(shù)的輸出格式:d,%dn”加法、減法、乘法的輸出格式:n

12、sum=%d,sub=%d,multi=%dnH除法和求余的輸出格式:Hdev=%.2f,mod=%dnM除數(shù)為 0 的提示信息:the second operater is zero!nH輸入樣例:輸出樣例:#inelude main()int m,x,y;prin tf(Mplease in put n:rT);scanf(l,%d,/&m);x=m/100;y=m%100;printf(,%dz%dn,/x,y); printf(,sum=%d,sub=%d/multi=%dn,/x+y,x-y/x*y); if(y!=O)printf(,dev=%.2f/mod=%dn,/(float

13、)x/y,x%y);elseprintf(Hthe second operater is zero!nH);4.2快遞費(fèi)用計(jì)算(4分)題目容:市的某快遞公司根據(jù)投送S的地距離公司的遠(yuǎn)近,將全國(guó)劃分成5個(gè)區(qū)域:0區(qū)1區(qū)2區(qū)3區(qū)4區(qū)同城臨近兩省1500公里(含)以15002500 公里2500公里以上,,,,安1. 。,廣西 999990,O快遞費(fèi)按重呈計(jì)算,山起重費(fèi)用、續(xù)重費(fèi)用兩部分構(gòu)成:(1)起重(首重)1公斤按起重資費(fèi)計(jì)算(不足1公斤,按1公斤計(jì)算),超過首重的重雖,按公斤(不足1公斤,按1公斤 計(jì)算)收収續(xù)垂費(fèi):(2)同城起重資費(fèi)10元,續(xù)重3元/公斤:3) 寄往1區(qū)(江浙兩?。┑?,起重資

14、費(fèi)10元,續(xù)重4元:4) 寄往其他地區(qū)的,起重資費(fèi)統(tǒng)一為15元。而續(xù)重部分,不同區(qū)域價(jià)格不同:2區(qū)的續(xù)重5元/公斤,3區(qū)的續(xù)重6.5元/公斤, 4區(qū)的續(xù)重10 it/公斤。編寫程序,從鍵盤輸入的目的區(qū)域編碼和重雖,計(jì)算并輸出運(yùn)費(fèi),計(jì)算結(jié)果保留2位小數(shù)。提示:續(xù)重部分不足一公斤,按1公斤計(jì)算。因此,如包裹重M2.3公斤:1公斤算起重,剩余的1.3公斤算續(xù)重,不足1公斤按1 公斤計(jì)算,1.3公斤折合續(xù)重為2公斤。如果重呈應(yīng)大于0、區(qū)域編號(hào)不能超出0/的圍。程序運(yùn)行結(jié)果示例1:4,4.5/Price: 55.00程序運(yùn)行結(jié)果示例2:5,3.2/Error in AreaPrice: 0.00輸入格式

15、:用逗號(hào)分隔的兩個(gè)數(shù)字,第一個(gè)表示區(qū)域、第二個(gè)是重呈:d,%r輸出格式:價(jià)格的輸出格式:Trice: %5.2AnM區(qū)域錯(cuò)誤的提示信息:Trror in AreanM輸入樣例:輸出樣例:#inelude #in elude int main()int area;float weightprice,xl,x2;scanf(l,%d,%f,/&area, & weight);if (weight0&area=4)switch(area)case(0):price=xl*10+x2*3;break;case(l):price=xl*10+x2*4;break;case(2):price=xl*15+

16、x2*5;break;case(3):price=xl*15+x2*6.5;break;case :price=xl*15+x2*10;break;printfCPrice: %52fn 蔦 price);else printffError in AreanM);printf(HPrice: 0.00nM);return 0;4.3數(shù)據(jù)區(qū)間判斷(5分)題目容:從鍵盤輸入一個(gè)int型的正整數(shù)n (己知:0n10000),編寫程序判斷n落在哪個(gè)區(qū)間。如果用戶輸入的數(shù)據(jù)不在指定的闈里,程 序輸出,error!H0例如,輸入265,則該數(shù)屈于區(qū)間100-999程序運(yùn)行結(jié)果示例4:Please ente

17、r the number:2563/2563: 1000-9999程序運(yùn)行結(jié)果示例2:Please enter the number:156/156: 100-999程序運(yùn)行結(jié)果示例3:Please enter the number:36 /36: 10-99程序運(yùn)行結(jié)果示例4:Please enter the number:3/3: 0-9程序運(yùn)行結(jié)果示例5:Please enter the number:10923 / error!輸入格式:H%dH輸出格式:輸入提示信息Please enter the number:nH輸出的區(qū)間判斷:H%d: 1000-9999nHH%d: 100-9

18、99nMH%d: 10-99nM”d: 0-9nM輸入錯(cuò)誤提示信息:error!n輸入樣例:輸出樣例;#in clude#in cludeint main()int x;printf(,Please enter the number:n”);scanf(%(f:&x);if (x=1000&x=0&x=10&x=100&x=999) printf(n%d: 100-999nn,x);else printf(,error!nM); return 0;4.4計(jì)算一元二次方程的根v20 (3分)題目容:根據(jù)下面給出的求根公式,計(jì)算并輸出一元二次方程ah + 吐 + c = 的兩個(gè)實(shí)根,要求精確到小數(shù)

19、點(diǎn)后4位,其中a, b. c的值III用戶從鍵盤輸入。如果用戶輸入的系數(shù)不滿足根的要求,輸出錯(cuò)誤提示“error化b y/b2 4ac2a程序運(yùn)行結(jié)果示例1:Please enter the coefficients a,b,c:1,2,1/x1=-1.0000, x2=-1.0000程序運(yùn)行結(jié)果示例2:Please enter the coefficients a,b,c:2,6,1Zx1 =-0.1771, x2=-2.8229程序運(yùn)行結(jié)果示例3:Please enter the coefficients a,b,c: 2,1,6/error!輸入格式:n%f,%f,%r輸出格式:輸入提示

20、信息Please enter the coefficients a,b,c:rT輸出格式:収仁%7.4ft x2=%7.4fnM輸入錯(cuò)誤提示信息:error!n輸入樣例:輸出樣例:#in clude#in cludeint main()float a,b,c/xl/x2/m;printf(HPlease enter the coefficients a,b,c:nJ;m=b*b-4*a*c;if (m0)printferroriXn-);elsexl=(-b+sqrt(m)/(2*a); x2=(-b-sqrt(m)/(2*a);printf(,xl=%74f,x2=%74frr,xl,x2)

21、;return 0;第五5.16位密碼輸入檢測(cè)(3分)題目容:從鍵盤輸入6位僅山數(shù)字09組成的密碼。用戶每輸入一個(gè)密碼并按回車鍵后,程序給出判斷:如果是數(shù)字,則原樣輸出該數(shù)字,并 提示用戶目前已經(jīng)輸入了幾位密碼,同時(shí)繼續(xù)輸入下一位密碼;否則,程序提示error”,并讓用戶繼續(xù)輸入下一位密碼。直到用戶輸 入的密碼全部繪數(shù)字為止。以下為程序的運(yùn)行結(jié)果示例:In put your password:1/1, you have enter bits number6/6, you have enter 2-bits number errord/error4/4, you have enter 3-bit

22、s number 6/6, you have enter 4-bits number8/8, you have enter 5-bits number2/2, you have enter 6-bits number輸入格式:數(shù)字字符輸入格式:c輸出格式:輸入提示信息:Input your password:nH如果輸入的是數(shù)字,輸出格式為c, you have enter %dbits numberrT如果輸入的不是數(shù)字,輸出提示信息:”errorn輸入樣例:輸出樣例:#inelude int main()char a;int i=0;printf(Hlnput your password:

23、n);while(i=48&a=5 7)printf(%c, you have enter %d-bits numberrV:a,+i);elseprintf(,errorn,);getchar();return 0;5.2判斷一個(gè)整型數(shù)據(jù)有幾位vl.O (4分)題目容:從鍵盤輸入一個(gè)整型數(shù)據(jù)(int型),編寫程序判斷該整數(shù)共有幾位。例如,從鍵盤輸入整數(shù)16644,該整數(shù)共有5位。程序運(yùn)行結(jié)果示例1:Please enter the number:21125/21125: 5 bits程序運(yùn)行結(jié)果示例2:Please enter the number:-12234/-12234: 5 bits

24、輸入格式:H%dH輸出格式:輸入提示信息:”Please enter the number:n判斷該整數(shù)共有幾位:H%d: %d bitsnH輸入樣例:輸出樣例:#inelude int main()int x“n;printf(nPlease enter the number:n);scanf(,%d,&x);n=x;for(y=l;x/=10;y+);printf(%d: %d bitsn”ny);return 0;檢測(cè)輸入數(shù)據(jù)中奇數(shù)和偶數(shù)的個(gè)數(shù)(4分)題目容: 從鍵盤輸入一系列正整數(shù),輸入1表示輸入結(jié)束(/本身不是輸入的數(shù)據(jù))O編寫程序判斷輸入數(shù)據(jù)中奇數(shù)和偶數(shù)的個(gè)數(shù)如果用戶 輸入的第一個(gè)

25、數(shù)據(jù)就是則程序輸出over!”。否則。用戶毎輸入一個(gè)數(shù)據(jù),輸出該數(shù)據(jù)是奇數(shù)還是偶數(shù),直到用戶輸入為止,分 別統(tǒng)計(jì)用戶輸入數(shù)據(jù)中奇數(shù)和偶數(shù)的個(gè)數(shù)。程序運(yùn)行結(jié)果示例1:Please enter the number:1/1:odd5/5:odd8/8:eve n9/9:odd12/12:even17/17:odd-1/The total number of odd is 4The total number of even is 2程序運(yùn)行結(jié)果示例2:Please enter the number:-1/over!The total number of odd is 0The total numbe

26、r of even is 0輸入格式:H%dM輸出格式:輸入提示信息Please enter the number:nH用戶輸入的第一個(gè)數(shù)據(jù)就是仁輸出格式:over!n”奇數(shù)的輸出格式:H%d:oddnM偶數(shù)的輸出格式:%d:evenn輸入數(shù)據(jù)中奇數(shù)的個(gè)數(shù)統(tǒng)計(jì):The total number of odd is %drT輸入數(shù)據(jù)中偶數(shù)的個(gè)數(shù)統(tǒng)計(jì)The total number of even is %dnM 輸入樣例:輸出樣例;#inelude int main()int s,odd=0,even=0;printf(MPlease enter the number:nJ;doscanf(l,

27、%d,&s);if (s=-l&odd=0&even=0) printf(,over!nH);else if( s%2!=0 &s!=-l) printf(,%d:oddn,s);odd+;else if (s%2=0)printf(,%d:evenn,/s);even+;else even+=0;(while (s!=-l);printffThe total number of odd is %dn,/odd);printf(nThe total number of even is %drV:even);return 0;5.4計(jì)算球的反彈高度(4分)題目容:一個(gè)球從100米高度自由落下,每

28、次落地后反跳回原高度的一半.再落下并反彈.,求它在第5次和第佃次需地時(shí),分別共經(jīng)過了 多少米?第5次和第10次反彈分別是多高?要求汁并站果保留到小數(shù)點(diǎn)厲3位用戶從鍵盤輸入想要計(jì)算的第n次(n=45)。程序運(yùn)行結(jié)果示例1:input:5/5 times:287.5003.125程序運(yùn)行結(jié)果示例2:input:10/10 times:299.6090.098輸入格式:”d”輸出格式, 反彈次數(shù):M%d times:nH第n次反彈共經(jīng)過多少米:.3fn 第n次的反彈高度:”3fn” 輸入提示信息input:rT輸入樣例:輸出樣例:#inelude int main()int timej;float

29、each=0,sum=0zh=100;printf(,input:nn); scanf(,%d,/&time);for (i=0;itime;i+) sum+=h;h/=2; each=h; sum+=each;printf(H%d times:ntime); printf(”3fn:sum-each); printf(”3fn teach);return 0;弟八6.1程序改錯(cuò)v2.0 (5分)卜而代碼的功能是將門分機(jī)成絨轉(zhuǎn)換為5分制成績(jī)以體功能是:如果用戶輸入的是非法字符或者不在合理區(qū)間的數(shù)據(jù)(例如輸入的 是a咸者102,或45等),則程序輸出Input error!.并允許用廣重新輸入直

30、到輸入合法數(shù)據(jù)為止并將其轉(zhuǎn)換為5分制輸出。目 前程序存在錯(cuò)誤,請(qǐng)將其修改正確。并按照下而給出的運(yùn)行示例檢查程序。1#include2int main()34.int score;5char grade;6printf (Please in put score: M);7scanf(M%d&score);8if (score 100)9printf(Input error!nM)10.else if (score = 90)11.grade = *AJ;12.else if (score = 80)13.grade = B;14.else if (score = 70)15.grade = C;

31、16.else if (score = 60)17.grade = D;18.else19.grade = E ;20.printf(Mgrade:%cnH grade);21. return 0;22. 程序運(yùn)行結(jié)果示例1:Please in put score:a/In put error!Please in put score:-12/In put error!Please in put score:230/In put error!Please in put score:92 /grade: A程序運(yùn)行結(jié)果示例2:Please in put score:88/grade: B程序運(yùn)行結(jié)

32、果示例3:Please in put score:73/ grade: C程序運(yùn)行結(jié)果示例4:Please in put score:65/grade: D程序運(yùn)行結(jié)果示例5:Please in put score:27/grade: E輸入格式:H%dH輸出格式:輸入提示信息Please input score:nH輸入錯(cuò)謀提示信息:”lnputerror!rT輸出格式:“grade: %cn“(注臥 c前而有一個(gè)空格)輸入樣例:輸出樣例:#in cludeint main()int score,m=0;char grade;printf(HPlease input score:nM);do

33、m=scanf(,%d/ &score);getchar();if (m !=1 11 score 100) printf(Mlnput error!nPlease input score:nH);m=0; while (m=0);if (score = 90)grade = A;else if (score = 80)grade = 8;else if (score = 70)grade = C;else if (score = 60)grade = D;elsegrade =巳printf(Hgrade: %cnn, grade);return 0;編程計(jì)算a+aa+aaa+aaa (n個(gè)

34、a)的值(4分)題目容, 編程計(jì)算a+aa+aaa+.+aa.a (n個(gè)a)的值,n和a的值由鍵盤輸入。例如,當(dāng)n=4,a=2,表示計(jì)算2+22+222+2222的值。程序運(yùn)行結(jié)果示例:In put a,n:2,4 /sum=2468輸入格式:M%d,%dM (先輸入a,后輸入n)輸出格式:輸入提示信息:”lnputa,n:n輸出格式sum=%ldrT%ldn”輸入樣例:輸出樣例,#inelude int main()int a,nzsum=O,tem=l; printf(Hlnput a,n:nH); scanf(l,%d,%d,&a/&n);int i;for (i=l;i 二 n ;i+

35、) sum+=(a*tem); tem=tem*10+l;prin tf(,sum=%dn,/sum);return 0;搬磚問題(4分)題目容:n塊磚(27vn“77 ), 36人搬,男搬4,女搬3,兩個(gè)小孩抬一塊磚,要求一次搬完,問男人、女人和小孩各需多少人?請(qǐng)用窮舉法 編程求解,n的值要求從鍵盤輸入.輸出結(jié)果按照男人數(shù)量升序給出(見下面示例3).程序的運(yùn)行結(jié)果示例1:Input n(27n=77):28“men=0,wome n=4,children=32程序的運(yùn)行結(jié)果示例2:Input n(27n=77):36zmen=3,women=3,children=30程序的運(yùn)行結(jié)果示例3:I

36、nput n(27n=77):60/men=2,women=14,childre n=20 men=7,women=7,children=22men=12,women=0,children=24輸入提示:Mlnput n(27n=77):nM輸入格式:”d“輸出格式:men=%d,women=:%d,children=%dn輸出樣例:#inelude int main()printf(Hlnput n(27n=77):nH);int n;scanf(H%dHz&n);int woman, man, kid;for (man = 0; man = n; man+)for (woman = 0;

37、woman = n; woman+)kid = 36 man - woman;訐(4 * man + 3 * woman + 0.5 * kid = n)printf(”men二%d,women=%d,children=%dn; man, woman, kid);return 0;6.4編程輸出某年某月有多少天(考慮閏年) (5分)題目容:從鍵盤輸入一個(gè)年份和月份,輸出該月有多少天(考慮閏年),用switch語句編程。程序運(yùn)行結(jié)果示例1:In put yeartm orUh:2015,3/31 days程序運(yùn)行結(jié)果示例2:In put yeartm orUh:2015,4/30 days程序運(yùn)

38、行結(jié)果示例3:In put yeartm onth:2016,2/29 days程序運(yùn)行結(jié)果示例4:In put yeartm orUh:2014,2/28 days程序運(yùn)行結(jié)果示例5:In put yeanm onth:2015,13/In put error!輸入格式:輸出格式:輸入提示信息:Input year,month:nM 輸入諸嘆提示信息:Input error!nH 輸出格式:H31 daysnM”30 daysnH”29 daysnM”28 daysnM輸入樣例輸出樣例#inelude int isleap(int n);int main()int yeacm on th;p

39、rin tf(Hlnput yeaom on th:n); scanf(l,%d,%d,&year/&month);switch (month)case 1:case 3: case 5:case 7:case &case 10:case 12: printf(H31 daysn);break;case 4:case 6:case 9:case lliprintfCO daysn);break;case 2:if (isleap(year)printf(n29 daysnH);break;else printf(H28 daysn);break;default: printf(Mlnput e

40、rror!nH);return 0;int isleap(int n)if (n%100!=0&n%4=0| n%400=0)return 1;elsereturn 0;第七章7.1遞歸法計(jì)算游戲人員的年齡(4分)題目容:,問第3個(gè)人,有n個(gè)人圉坐在一起,問第n個(gè)人多大年紀(jì),他說比第個(gè)人大2歲;問第個(gè)人,他說比第n-2個(gè)人大2歲, 他說比第2個(gè)人大2歲:?jiǎn)柕?個(gè)人,他說比第1個(gè)人大2歲。第1個(gè)人說自己10歲,問第n個(gè)人多大年紀(jì)。遞歸函數(shù)原型:unsigned int ComputeAge(unsigned int n);提示:遞歸公式fio( = 1)age(/) = I age(/ 1)+2

41、( 1)輸入格式:輸出格式:“The persons age is %unM輸入樣例仏5/輸出樣例1:The_persons_ages_18輸入樣例2:10/輸出樣例2:The_person*s_ages_28注意:為避免出現(xiàn)格式錯(cuò)誤,請(qǐng)直接拷貝粘貼上面給出的輸入、輸出提示信息和格式控制字符串!(注意:在輸出中,代表空格,如果直接將上段示例粘貼到代碼中,應(yīng)將其替換為空格。)include unsigned int Age(unsigned int age);int main()unsigned int n=0;scanf(,%ud,&n);printf(The persons age is %

42、un,/Age(n);return 0;unsigned int Age(unsigned int n)if (n=l)return 10;elsereturn Age(n-l)+2;7.2魔術(shù)師猜數(shù)(4分)題目容:在一種室互動(dòng)游戲中,魔術(shù)師要每位觀眾心里想一個(gè)三位數(shù)abc (a、b、c分別是百位、十位和個(gè)位數(shù)字),然后魔術(shù)師讓觀眾心中 記下acb、bac、bca、cab、cba五個(gè)數(shù)以及這5個(gè)數(shù)的和值。只要觀眾說出這個(gè)和是多少,則魔術(shù)師一定能猜出觀眾心里想的原數(shù) abc足多少。例如,觀眾甲說他計(jì)算的和值1999,則魔術(shù)師立即說出他想的數(shù)是443,而觀眾乙說他計(jì)算的和值是199&則魔術(shù) 師說:

43、“你算錯(cuò)了! ”。請(qǐng)編程模擬這個(gè)數(shù)字魔術(shù)游戲。要求用函數(shù)實(shí)現(xiàn),函數(shù)原型:int Magic(int m);其中形參m代表觀眾計(jì)算的和 值。輸入格式:”d”輸出格式:觀眾計(jì)算錯(cuò)誤,魔術(shù)師給出的結(jié)論:The sum you calculated is wrong!nM觀眾計(jì)算正確,魔術(shù)師給出的結(jié)論:HThe number is %dnH輸入樣例1:1998/輸出樣例1:The sum you calculated is wrong!輸入樣例2:1999/輸出樣例2:The_numberjs_443注意:為避免出現(xiàn)格式錯(cuò)誤,請(qǐng)直接拷貝粘貼上面給出的輸入、輸出提示信息和格式控制字符串!(注意:在輸出中

44、,代表空格,如果直接將上段示例粘貼到代碼中,應(yīng)將其替換為空格。)#inelude int Magic(int m);int main()int m;scanf(l,%d,&m);if( Magic(m)printf(The number is %dn/Magic(m);elseprintf(HThe sum you calculated is wrong!n“);return 0; int Magic(int n)int m;int a,b,c;for (m=100;m1000;m+)a=m/100;c=m%10;b=(m-a*100)/10;if (a*122+b*212+c*221)=n)

45、return m;return 0;尋找中位數(shù)v1.0 (4分)題目容:編寫一個(gè)函數(shù)返回三個(gè)整數(shù)中的中間數(shù)。函數(shù)原型:int mid(int a, int b, int c);功能是返回a, b, c三數(shù)小位于中間的一個(gè)數(shù)。輸入格式:”d%d%d”輸出格式:The result is %dn輸入樣例126 18/輸出樣例1:The_result_is_12輸入樣例2:-9 7 -2 /輸出樣例2:The result is -2注意:為避免出現(xiàn)格式錯(cuò)誤,請(qǐng)直接拷貝粘貼上面給出的輸入、輸出提示信息和格式控制字符串!(注總:在輸出中,代表空格,如果口接將上段示例粘貼到代碼中,應(yīng)將其替換為空格。)i

46、nclude int mid(int a, int b, int c);int main()int abc;scanf(H%d %d %dH,&a,&b,&c);printf(The result is %dn,/mid(a,b/c);return 0;int mid(int a, int b, int c)int j,i,t;int m3=a,b,c;for (i=0;i2;i+)for (j=i;jmi)mj=mi;mi=t;return ml;7.4還原算術(shù)表達(dá)式(4分)題目容:編寫程序求以下算式中XYZ的值。XYZ+ YZZ532輸入格式:輸出格式X=%d,Y=%d,Z=%dn輸入樣例

47、:輸出樣例:X=3,Y=2,Z=1注意:為避免出現(xiàn)格式錯(cuò)誤,請(qǐng)直接拷貝粘貼上面給出的輸入、輸出提示信息和格式控制字符串!#inelude int mid(int a, int b, int c);int main()int x“z;for (x=0;x9;x+)for (y=0;y9;y+)for (z=0;z9;z+)if (x* 100+y* 110+z* 12)=532)printf(,X=%d/Y=%d/Z=%dn,/xzy/z);return 0;第八章8.1計(jì)算禮炮聲響次數(shù)(4分)題目容:在海軍節(jié)開幕式上,有A、B、C三艘軍艦要同時(shí)開始鳴放禮炮各21響。已知A艦每隔5秒放1次,B艦

48、每隔6秒 放1次,C艦每隔7秒放1次。假設(shè)各炮手對(duì)時(shí)間的掌握非常準(zhǔn)確,請(qǐng)編程計(jì)算觀眾總共可以聽到幾次禮炮聲。輸入格式:無輸出格式:n=%d輸入樣例;輸出樣例:注意,為避免出現(xiàn)格式錯(cuò)誤,請(qǐng)直接拷貝粘貼上面給出的輸入、輸出提示信息和格式控制字符串!include int main()int t,n=O;for (t=0;t=140;t+)if (t%5=0 & t=21*5)n+;continue;if (t%6=0 & t=21*6)n+;continue;if (t%7=0 & t=21*7)n+;conti nue;printf(,n=%d/n);return 0;8.2兔子生崽問題(4分)

49、題目容:假設(shè)一對(duì)小兔的成熟期是一個(gè)月,即一個(gè)月可長(zhǎng)成成兔,那么如果每對(duì)成兔每個(gè)月都可以生一對(duì)小兔,一對(duì)新生的 小兔從第二個(gè)月起就開始生兔子,試問從一對(duì)兔子開始繁殖,一年以后可有多少對(duì)兔子(即當(dāng)年12月份總計(jì)有多 少對(duì)兔子,含成兔和小兔)?請(qǐng)編程求解該問題。參考答案:依題總,兔子的繁殖情況如圖所示。圖中實(shí)線表示成兔仍是成兔或者小兔長(zhǎng)成成兔;虛線表示成兔生小兔。觀察分析此圖 可發(fā)現(xiàn)如下規(guī)律:(1)每月小兔對(duì)數(shù)=上個(gè)月成兔對(duì)數(shù)。(2)每月成兔對(duì)數(shù)=上個(gè)月成兔對(duì)數(shù)+上個(gè)月小兔對(duì)數(shù)。綜合(1和(2)有:每月成兔對(duì)數(shù)=前兩個(gè)月成兔對(duì)數(shù)之和。月忻: 1234567891011121 12358 132134 55 89 144XXXXXX X X X X X小兔対數(shù):01123581321345589總劉U123581321345589144233用fn (n=1, 2)表示第n個(gè)月成兔對(duì)數(shù),于是可將上述規(guī)律表示為如下遞推公式:輸入格式:無輸出格式:每個(gè)月兔子對(duì)數(shù)

溫馨提示

  • 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論