北京理工大學(xué)C語言網(wǎng)絡(luò)教室編程練習(xí)題標(biāo)準(zhǔn)答案_第1頁
北京理工大學(xué)C語言網(wǎng)絡(luò)教室編程練習(xí)題標(biāo)準(zhǔn)答案_第2頁
北京理工大學(xué)C語言網(wǎng)絡(luò)教室編程練習(xí)題標(biāo)準(zhǔn)答案_第3頁
北京理工大學(xué)C語言網(wǎng)絡(luò)教室編程練習(xí)題標(biāo)準(zhǔn)答案_第4頁
北京理工大學(xué)C語言網(wǎng)絡(luò)教室編程練習(xí)題標(biāo)準(zhǔn)答案_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 /107 /107C語言程序設(shè)計網(wǎng)絡(luò)課堂習(xí)題(1-56題)Helloworld.輸入:無輸出:Helloworld.程序:#includeintmain()printf(Helloworld.n);return0;WelcometoBeijing.期的輸時間眼制瑪限制獅卜竝測試用例以交本方式顯示1.-以文不方式顯示W(wǎng)eicomeh-t0_Beijing.125SKB0程序:#includeintmain()printf(Welcomen);printf(ton);printf(Beijing.n);return0;求A+B輸入:整數(shù)1整數(shù)2輸出:整數(shù)1+整數(shù)2=和鵬的礎(chǔ)時間限制橢限制b以文本

2、方式顯沢1日_2日一以文本方式顯示1.10+20=30J64M0程序:#includeintmain()inta,b;scanf(%d,&a);scanf(%d,&b);printf(%d+%d=%dn,a,b,a+b);return0;4.求x的3次方輸入:一個整數(shù)。輸出:該整數(shù)的3次方值。期待的輸出時間限制械眼制測試用例菽文本方式顯六1.以文本方式顯示1.2了一無限制64M0程序:#includeintmain()intx;scanf(%d,&x);printf(%dn,x*x*x);return0;5.學(xué)習(xí)打印你的第一個圖形編寫一個小程序,要求輸出的是4行由*號組成的等腰三角形。#inc

3、ludeintmain()printf(*n);printf(*n);printf(*n);printf(*n);return0;6.一年級的算術(shù)題輸入:接受兩個整數(shù),每個整數(shù)之間使用空格分隔。例如輸入格式為:123444輸出:分別輸出按照整型數(shù)據(jù)進(jìn)行+、-、*、/、*之后的運(yùn)行結(jié)果。測臥Him的輸tHg)時間限制內(nèi)&眼制鮒卜擁測試用例以文不方式顯示1.103以文本方式顯六104-3-1310-3=71日巧=沖_10/3=3103=11秒64M0程序:#includeintmain()inta,b;scanf(%d%d,&a,&b);printf(%d+%d=%dn,a,b,a+b);prin

4、tf(%d-%d=%dn,a,b,a-b);printf(%d*%d=%dn,a,b,a*b);printf(%d/%d=%dn,a,b,a/b);printf(%d%d=%dn,a,b,a%b);return0;求兩個變量的最小值輸入:兩個整型數(shù)輸出:兩個整型值中的最小值期的輸出時間限制楠限制勸卜艇以文本方式顯汶1.162D以文本方式顯示1.測試用例B4M0程序:#includeintmain()inta,b;scanf(%d%d,&a,&b);printf(min=%dn,a_1e4M0程序:#includeintmain()inta,b,c;scanf(%d%d%d,&a,&b,&c);

5、if(a+bc&a+cb&b+ca)if(a=b&b=c&a=c)printf(equilateraltriangle.n);elseif(a=b|a=c|b=c)printf(isocelestriangle.n);elseprintf(triangle.n);elseprintf(non-triangle.n);return0;9.計算圓柱的側(cè)面積及體積輸入:第一行輸入圓柱的底面半徑r第二行輸入圓柱的高h(yuǎn)輸出:s=,v=要求1.所有變量都定義為雙精度類型2.結(jié)果精確到小數(shù)點(diǎn)后兩位的礎(chǔ)時間限制桶限制融卜齷測試用例氐文本戶式晁示2J8J以文本方式顯示5=100.53Jv=106.53.*1II

6、I卜1秒64M0測試用例皇以文本左式顯示51日一以文本方式顯示*rrr卜1杪64M0程序:#include#definePI3.1415926intmain()doubler,h,s,v;scanf(%lf,&r);scanf(%lf,&h);s=2*PI*r*h;v=PI*r*r*h;printf(s=%.2f,v=%.2fn,s,v);return0;10.計算時鐘的夾角背景:鐘面上的時針和分針之間的夾角總是在0180之間(包括0和180)。舉例來說,在十二點(diǎn)的時候兩針之間的夾角為0,而在六點(diǎn)的時候夾角為180,在三點(diǎn)的時候為90。本題要解決的是計算12:00到11:59之間任意一個時間的

7、夾角。輸入:每組測試數(shù)據(jù)包含兩個數(shù)字:第一個數(shù)字代表小時(大于0小于等于12),第二個數(shù)字代表分(在區(qū)間0,59上)。輸出:對應(yīng)每組測試數(shù)據(jù),用常用格式顯示時間以及這個時候時針和分針間的最小夾角,精確到小數(shù)點(diǎn)后一位。輸出格式如下所示。躺的輸出時問眼制內(nèi)存眼制額外述程以交應(yīng)萬式顯不以又忑萬弍豆不1.120Jeis0.0degrees.測舐例俐64M01阿1卜以文忑方式顯示以文本方弍辰示1.12羽一is165.0degrees.測試用例264M0彳刖1卜程序:#include#includeintmain()inth,m;floatd1,d2,d;scanf(%d%d,&h,&m);d1=30*(

8、h+m/60.0);d2=m*360/60.0;d=fabs(d1-d2);if(d180)d=360-d;printf(At%d:%dtheangleis%.1fdegrees.n,h,m,d);return0;找出最大素數(shù)素數(shù)是指一個只能被1和它本身整除的數(shù),在數(shù)論中占有重要的研究地位,在當(dāng)代密碼學(xué)中也被廣泛應(yīng)用。輸入:取值范圍輸出:該范圍內(nèi)的最大素數(shù)期待的輸出時間限制靖限制融卜艇以交本方式顯示1.100以文本方式顯示rimenumberis97.測試用例4彳w亠1卜1秒64M0程序:#includeintmain()intn,i,j;scanf(%d,&n);for(i=n;i=1;i-

9、)for(j=2;ji;j+)if(i%j=0)break;if(j=i)printf(Themaxprimenumberis%d.n,i);break;12.求最后3位數(shù)值輸入:a和n的值。假設(shè)a=150。輸出:求a的n次方的最后3位數(shù)。程序:#includeintmain()longints=1;inta,n,i=1,t=1;scanf(%d%d,&a,&n);if(n=0)printf(Thelast3numbersis1.n);elsefor(i=1;i=0&t=10&t=100&t1000)printf(Thelast3numbersis%d.n,t);return0;13.貪吃的猴

10、子有一只猴子,第一天摘了若干個桃子,當(dāng)即吃了一半,但還覺得不過癮,就又多吃了一個。第2天早上又將剩下的桃子吃掉一半,還是覺得不過癮,就又多吃了兩個。以后每天早上都吃了前一天剩下的一半加天數(shù)個(例如,第5天吃了前一天剩下的一般加5個)。到第n天早上再想吃的時候,就只剩下一個桃子了。輸入:天數(shù)n輸出:第一天的桃子個數(shù)則試輸入期待的輸岀時間眼制內(nèi)存眼制額外進(jìn)程捌試用例1浜文云方式豆示1.3團(tuán)文水方式顯示!monkeygot14pea1秒&4MD*L吋p程序:#includeintmain()inti,n,amount=1;scanf(%d,&n);for(i=n-1;i=1;i-)amount=2*

11、(amount+i);printf(Themonkeygot%dpeachsinfirstday.n,amount);14.黑色星期五在西方,星期五和數(shù)字13都代表著壞運(yùn)氣,兩個不幸的個體最后結(jié)合成超級不幸的一天。所以,不管哪個月的十三日又恰逢星期五就叫“黑色星期五”。輸入:年份輸出:判斷該年是否包含黑色星期五,如包含,給出具體日期測iiC輸入期待的輸出時間眼制內(nèi)存眼制額外進(jìn)程菽文云方戎楚示萇文本方戎豆禾1.20061Thermar已2Black測沆用側(cè)1Theyar亡:2006/1/13-2006/10/1311秒64MD扌卜程序:#includeintmain()inti,n=0,year

12、,month12=0;inta13=0,13,44,73,104,134,165,195,226,257,287,318,348;intb13=0,13,44,72,103,133,164,194,225,256,286,317,347;scanf(%d,&year);for(i=1;i13;i+)if(year%4=0&year%100!=0)|year%400=0)if(year-1+(year-1)/4)-(year-1)/100)+(year-1)/400)+ai)%7=5)n+;monthn=i;elseif(year-1+(year-1)/4)-(year-1)/100)+(yea

13、r-1)/400)+bi)%7=5)n+;monthn=i;if(n=1)printf(Thereis%dBlackFridayinyear%d.n,n,year);printf(Itis:n);printf(%d/%d/13n,year,month1);elseprintf(Thereare%dBlackFridaysinyear%d.n,n,year);printf(Theyare:n);for(i=1;i=n;i+)printf(%d/%d/13n,year,monthi);return0;15.你會輸出一行星號?我們才開始上機(jī),現(xiàn)在需要我們用最簡單得辦法,在一行中輸出N個星號。輸入:N

14、值輸出:一行中N個星號。剜試輸入期特的輸岀時間眼制內(nèi)存眼制額外進(jìn)程浜丈云方式顯示二文津方戎區(qū)禾1.4澳1試用例11秒64MD浜丈云方式顯示1.8喙文*方戎顯恭1.*=&_*測試用例21秒64MDanhHiFa|h|1n8程序:#includeintmain()inti,n;scanf(%d,&n);for(i=1;i=n;i+)printf(*);printf(n);16.計算SUM的值已知公式:SUM=1+1/2+1/3+1/4+.+1/n輸入:n輸出:表達(dá)式sum的值。結(jié)果保留6位小數(shù)。:則曲翫入朋特的愉岀時冋限制內(nèi)卩艮制電時卜進(jìn)徒|LUllM1以參:本有式丘示11J以京:本右式丘示1.s

15、uml00-0000-_1T秒G4MQ她1畝屮訕2以怠本:右式丘示LL”2h-I決立本右式丘示1,sum-irsee&oei1穢O;WILUII13収燈不方式as示r3jE丄立本閂式理云1,SUM-lrS3353311秒氐創(chuàng)和1O程序:#includeintmain()inti,n;doublesum=0;scanf(%d,&n);for(i=1;i=n;i+)sum+=1.0/i;printf(sum=%.6lfn,sum);return0;17.尋找特殊整數(shù)請編寫一個程序?qū)ふ乙环N特殊整數(shù):一個n位的正整數(shù)等于其各位數(shù)字的n次方之和。例如:407=4X4X4+0X0X0+7X7X7。所以40

16、7就是一個特殊數(shù)。輸入:正整數(shù)的位數(shù)n(n=6)。輸出:所有此n位特殊數(shù)。每個數(shù)占一行。若不存在符合條件的特殊數(shù),則輸出提示:“Nooutput.”;若存在,則從小到大進(jìn)行輸出。說明:假設(shè)輸入為4,在4位整數(shù)中,有3個4位的特殊數(shù),則輸出格式為(輸出中的1111、2222和9999并不是4位特殊數(shù),只是格式樣例):111122229999#include#includeintmain()intn,i,j,num,t,s=0,t1,flag=0;scanf(%d,&n);t=pow(10,n-1);for(i=t;i=0)。輸出:打印相應(yīng)的空心倒三角形。圖樣參見測試用例。i臓輸A髓的徹H時間限制

17、瑪眼制鮒卜齷以文本方式顯示1.3J匸文本方式顯示*X_I2.*_3.*_1秒64M0程序:#include#includeintmain()inti,j,h;scanf(%d,&h);for(i=1;i=h;i+)for(j=1;ji;j+)printf();if(i=1|i=h)for(j=1;j=2*(h-i)+1;j+)printf(*);printf(n);elseprintf(*);for(j=1;j=2*(h-i)-1;j+)printf();printf(*n);return0;19.空心字符菱形輸入:菱型起始字母和菱形的高度。輸出:參看測試用例,打印空心的由字符組成的菱形。測輸

18、aam的礎(chǔ)時間眼制靖限制動卜勰測試用例以文本方式顯示1.C4_以文本方弍顯示C_DD_lEE_FF_EE_DD_lC:_1秒64M0程序:#include#includeintmain()inti,j,h;charch;scanf(%c%d,&ch,&h);for(i=1;i=h;i+)for(j=1;j=h-i;j+)printf();printf(%c,ch+i-1);for(j=1;j=2*i-3;j+)printf();if(i=1)printf(n);continue;printf(%cn,ch+i-1);for(i=h+1;i=2*h-1;i+)for(j=1;j=i-h;j+)p

19、rintf();printf(%c,ch+(2*h-1)-i);for(j=1;j=(2*h-1-i)*2-1;j+)printf();if(i=2*h-1)printf(n);continue;printf(%cn,ch+(2*h-1)-i);return0;20.空心梯形輸入行數(shù)n和首數(shù)字字符,在屏幕上輸出由數(shù)字圍起的高和下底寬度均n的空心梯形。要求:輸出的數(shù)字是循環(huán)的,即輸出數(shù)字9后再輸出的數(shù)字是0。輸入:行數(shù)n和首字符輸出:空心梯形i則蹦鵬的礎(chǔ)時間眼制靖限制酚卜擁測試用例1.5_以女血右式顯示78901098767788_98J.&9無限制64M041川:卜程序:#include#in

20、cludeintmain()inti,j,n,f,t=0;scanf(%d%d,&n,&f);t=f;for(j=1;j=3*n-2;j+)if(j=3*n-2)printf(%d,t);elseprintf(%d,t);if(j(3*n-1)/2)if(t=9)t=0;elset+;elseif(j=(3*n-1)/2&n%2=0)continue;elseif(t=0)t=9;elset-;printf(n);t=f;for(i=2;i=n;i+)for(j=1;j=2*(i-1);j+)printf();if(i=n)for(j=1;j=(n+1)/2;j+)if(t=9)t=0;pri

21、ntf(%d,t);elseprintf(%d,+t);for(j=1;j=n/2;j+)if(t=0&n%2!=0)t=9;elseif(j=1&n%2=0)if(j=n/2)printf(%dn,t);elseprintf(%d,t);continue;elset-;if(j=n/2)printf(%dn,t);elseprintf(%d,t);elseif(t=9)printf(0);for(j=1;j=6*n-4*i-3;j+)printf();printf(0n);t=0;elset+;printf(%d,t);for(j=1;j=6*n-4*i-3;j+)printf();prin

22、tf(%dn,t);return0;H1:計算通用產(chǎn)品代碼(UPC)的校驗位(選作)下面是一種計算校驗位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位數(shù)字相加。然后把第二位、第四位、第六位、第八位和第十位數(shù)字相加。接著把第一次加法結(jié)果乘以3后再加上第二次加法的結(jié)果。隨后,再把上述結(jié)果減去1。減法后的結(jié)果除以10取余數(shù)。最后,用9減去上一步驟中得到的余數(shù)?,F(xiàn)在以Morton碘鹽為例,第一組數(shù)字的加法是0+4+0+0+0+3=7,而第二組數(shù)字的加法是2+6+0+1+0=9。把第一組加法值乘以3后再加上第二組加法值得到的結(jié)果是30。再減去1,結(jié)果變?yōu)?9。再把這個值除以10取余數(shù)為9

23、。9在減去余數(shù)結(jié)果9,最終值為0。輸入:每次輸入三行數(shù)據(jù),第一行是UPC的第一位數(shù)字,第二行是UPC的第一組五位數(shù)字,第三行是UPC的第二組五位數(shù)字。輸出:UPC的校驗位#include#includeintmain()inti,j,s1=0,s2=0,t;inta11;charb6,c6;scanf(%d,&a0);scanf(%s,b);scanf(%s,c);for(i=0,j=1;i5;i+,j+)aj=bi-48;for(i=0,j=6;i5;i+,j+)aj=ci-48;for(i=0;i11;i+)if(i%2=0)s1+=ai;elses2+=ai;t=9-(s1*3+s2-1

24、)%10;printf(%dn,t);return0;H2:數(shù)制轉(zhuǎn)換(選作)這個題目會給你兩個不同的數(shù)字,它們不屬于同一進(jìn)制,要求你計算出當(dāng)它們分別處于何種進(jìn)制之中時,兩個數(shù)字相等。譬如12和5,在十進(jìn)制下它們是不等的,但若12使用3進(jìn)制而5使用六進(jìn)制或十進(jìn)制時,它們的值就是相等的。因此只要選擇合適的進(jìn)制,12和5就可以是相等的。程序的輸入是兩個數(shù)字M和N(其十進(jìn)制的值不超過1000000000),它們的進(jìn)制在236之間。對于十以下的數(shù)字,用09表示,而十以上的數(shù)字,則使用大寫的AZ表示。求出分別在236哪種進(jìn)制下M和N相等。若相等則輸出相應(yīng)的進(jìn)制,若不等則輸出錯誤信息。當(dāng)然了,對于多種可能成

25、立的情況,找出符合要求的進(jìn)制最小的一組就行了。信息的格式見測試用例。期的輸出時間眼制瑪眼制読卜般測試用例以文玄方武靈示1.125J以戈本方弍晁示base3)=5(oase1秒64M0rrr一|卜程序:#includeintmain()longintpm=0,pn=0,s=0,t=0,w=1,e=1,p=0,q=0;inta30,b30;charm30,n30;inti,j,g,k,max1=0,max2=0,flag=0;scanf(%s%s,m,n);for(i=0;mi!=0;i+)if(mi=A&mi=0&mi=9)ai=mi-48;max1=max1(ai+1)?(ai+1):max1

26、;max1=max1=A&nj=0&nj=9)bj=nj-48;max2=max2(bj+1)?(bj+1):max2;max2=max22?2:max2;pn=j;for(i=max1,j=max2;i=36&j=0;g-)p+=ag*w;w=w*i;for(k=pn-1;k=0;k-)q+=bk*e;e=e*j;if(pq)j+;elseflag=1;printf(%s(base%d)=%s(base%d)n,m,i,n,j);break;if(flag=0)printf(%sisnotequalto%sinanybase2.36n,m,n);return0;21.零錢換整錢小明手中有一堆

27、硬幣,小紅手中有若干張10元的整錢。已知1角的硬幣厚度為1.8mm,5角的硬幣厚1.5mm,1元的硬幣為2.0mm。小明和小紅一起玩游戲,小紅拿出若干張10元的紙幣,小明要將1角的硬幣放成一摞,將5角的硬幣硬幣放成一摞,將1元的硬幣放成一摞,如果3摞硬幣一樣高,并且金額能夠正好小紅要求的面值,則雙方可以進(jìn)行交換,否則沒有辦法交換。輸入:小紅希望交換幾張10元的紙幣輸出:1角的數(shù)量,5角的數(shù)量,1元的數(shù)量測試輸人職待前輸出時何眼制內(nèi)有眼制葡外曲岸測試用例1以汕h弍顯不1.81文也力式顯木1.50,6051元限制64M程序:三種硬幣厚度公倍數(shù):18mm(1角10個共1元,5角12個共6元,1元9個共9元,要想3摞硬幣一樣高總錢數(shù)必須是16元(1

溫馨提示

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

評論

0/150

提交評論