北理工C語言編程網上作業(yè)答案_第1頁
北理工C語言編程網上作業(yè)答案_第2頁
北理工C語言編程網上作業(yè)答案_第3頁
北理工C語言編程網上作業(yè)答案_第4頁
北理工C語言編程網上作業(yè)答案_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、H1:計算通用產品代碼(UPC)的校驗位(選作)成績: 5 / 折扣: 0.8背景許多年來,貨物生產商都會把超市售賣的每件商品上放置一個條碼。這種被稱為通用產品代碼(Universal Product Code,縮寫UPC)的條碼可以識別生產商和產品。超市可以通過掃描產品上的條碼來確定支付此項商品的費用。每一個條碼由十二位數(shù)字構成,通常這些數(shù)字會顯示在條碼下面。例如,包裝為26盎司的Morton牌碘化鹽所用條碼下的數(shù)字是:0 24600 01003 0第一個數(shù)字表示商品的種類(0表示大部分的食品雜貨,2表示需要稱量的貨品,3表示藥品或和健康相關的商品,而5表示優(yōu)惠券)。接下來的一組五位數(shù)字用來

2、識別生產商。而第二組五位數(shù)字則用來區(qū)分產品類型(其中包括包裝尺寸)。最后一位數(shù)字是“校驗位”,它可以幫助鑒別先前數(shù)字中的錯誤。如果條碼掃描出現(xiàn)錯誤,那么前十一位數(shù)字和最后一位數(shù)字可能會不一致,而超市掃描機也會拒絕整個條碼。下面是一種計算校驗位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位數(shù)字相加。然后把第二位、第四位、第六位、第八位和第十位數(shù)字相加。接著把第一次加法結果乘以3后再加上第二次加法的結果。隨后,再把上述結果減去1。減法后的結果除以10取余數(shù)。最后,用9減去上一步驟中得到的余數(shù)。現(xiàn)在以Morton碘鹽為例,第一組數(shù)字的加法是0+4+0+0+0+3=7,而第二組數(shù)字的加

3、法是2+6+0+1+0=9。把第一組加法值乘以3后再加上第二組加法值得到的結果是30。再減去1,結果變?yōu)?9。再把這個值除以10取余數(shù)為9。9在減去余數(shù)結果9,最終值為0。輸入每次輸入三行數(shù)據(jù),第一行是UPC的第一位數(shù)字,第二行是UPC的第一組五位數(shù)字,第三行是UPC的第二組五位數(shù)字。輸出UPC的校驗位提示本題有隱藏測試用例。如果想多找不同的實例驗證你的算法,可以拿身邊書或食品背后的條碼測試一下。1. #include 2. main() 3. 4. int a,b,c; 5. int b1,b2,b3,b4,b5; 6. int c1,c2,c3,c4,c5; 7. int d1,d2,d3

4、,d4; 8. scanf(%dn%dn%d,&a,&b,&c); 9. b1=b/10000,b2=(b/1000)%10,b3=(b/100)%10,b4=(b/10)%10,b5=b%10; 10. c1=c/10000,c2=(c/1000)%10,c3=(c/100)%10,c4=(c/10)%10,c5=c%10; 11. d1=a+b2+b4+c1+c3+c5,d2=b1+b3+b5+c2+c4,d3=(3*d1+d2-1)%10,d4=9-d3; 12. printf(%dn,d4); 13. H2:數(shù)制轉換(選作)成績: 5 / 折扣: 0.8我們通常使用的都是十進制的數(shù)字,

5、但其實在生活中也經常會使用其它進制。 這個題目會給你兩個不同的數(shù)字,它們不屬于同一進制,要求你計算出當它們分別處于何種進制之中時,兩個數(shù)字相等。譬如 12 和 5 ,在十進制下它們是不等的,但若 12 使用 3 進制而 5 使用六進制或十進制時,它們的值就是相等的。因此只要選擇合適的進制, 12 和 5 就可以是相等的。 程序的輸入是兩個數(shù)字 M 和 N( 其十進制的值不超過 ) ,它們的進制在 236 之間。對于十以下的數(shù)字,用 09 表示,而十以上的數(shù)字,則使用大寫的 AZ 表示。 求出分別在 236 哪種進制下 M 和 N 相等。若相等則輸出相應的進制,若不等則輸出錯誤信息。當然了,對于

6、多種可能成立的情況,找出符合要求的進制最小的一組就行了。信息的格式見測試用例。21. 零錢換整錢成績: 5 / 折扣: 0.8小明手中有一堆硬幣,小紅手中有若干張10元的整錢。已知 1 角的硬幣厚度為 1.8mm,5 角的硬幣厚 1.5mm, 1 元的硬幣為 2.0mm 。小明和小紅一起玩游戲,小紅拿出若干張10元的紙幣,小明要將 1 角的硬幣放成一摞,將 5 角的硬幣硬幣放成一摞,將 1 元的硬幣放成一摞,如果 3 摞硬幣一樣高,并且金額能夠正好小紅要求的面值,則雙方可以進行交換,否則沒有辦法交換。輸入: 小紅希望交換幾張10元的紙幣輸出: 1 角的數(shù)量,5 角的數(shù)量,1元的數(shù)量1. #in

7、clude 2. main() 3. 4. int n,a,b,c,s,j=0; 5. scanf(%d,&n); 6. for(a=1;a10*n;a+) 7. for(b=1;b*15=a*18;b+) 8. for(c=1;ca;c+) 9. 10. s=a+b*5+c*10; 11. if(b*15=c*20&a*18=b*15&s=100*n) 12. printf(%d,%d,%dn,a,b,c); 13. j+=1; 14. 15. 16. if(j=0) 17. printf(No change.n); 18. return 0; 19. 22. 買東西成績: 5 / 折扣:

8、0.8某商品有A、B、C三種品牌,各品牌的價格各不相同,其中A品牌的價格為每個5元, B品牌為每個3元,而C品牌為每3個1元。如果要用 M 元錢買 N 個該商品,要求每個商品至少買一個,編程求各種品牌各能買多少個。 輸入:先后輸入M(錢數(shù))及N(商品個數(shù))的實際數(shù)值輸出:所有可能情況下可以購買的3種商品的個數(shù),按A、B、C品牌的順序輸出,用逗號分隔。例如:2,30,68;表示A品牌商品2個、B品牌商品30個、C品牌商品68個。 要求:因為有多個結果,結果的排序按照A品牌的個數(shù)從少到多的順序輸出。 1. #include 2. main() 3. 4. int a,b,c,M,N,s; 5. s

9、canf(%d%d,&M,&N); 6. for(a=1;a=N;a+) 7. 8. for(b=1;b=N;b+) 9. 10. c=N-a-b; 11. if(c%3=0) 12. 13. s=a*5+b*3+c/3; 14. if(s=M) 15. printf(%d %d %dn,a,b,c); 16. 17. 18. 19. 23 誰能出線成績: 10 / 折扣: 0.8背景:電視臺舉辦“超級學生”才藝大賽,由于報名人數(shù)狂多,所以要先進行分組預賽。按規(guī)定,每10名學生為一個預賽小組,評委打出分數(shù)(0100分),各小組第一名可以進入下一輪;如果有多名學生得分相同都是第一名,則可同時進入

10、下一輪。輸入:按順序給出一個小組10個人的最后得分(int)。輸出:能夠出線的學生序號(09)。#includemain()int a10=0,i,max=0;for(i=0;i10;i+) scanf(%d,&ai); if(maxai) max=ai; for(i=0;i10;i+) if(ai=max) printf(%dn,i); 24. 尋找特殊偶數(shù)成績: 5 / 折扣: 0.8背景有一種特殊偶數(shù),它每一位上的數(shù)字都兩兩不相同。我們現(xiàn)在需要找出四位數(shù)中某一區(qū)間內的這類偶數(shù)。輸入所要尋找的四位偶數(shù)的范圍。每組輸入有兩個數(shù)字:第一個數(shù)字是最小范圍;第二個數(shù)字是最大范圍。如果輸入遇到0,輸

11、入結束。輸出列出此范圍內的所有特殊偶數(shù),并且列出此范圍內特殊偶數(shù)的個數(shù)。1. #include 2. main() 3. 4. int a,b,counter,i,number1,number2,number3,number4; 5. do 6. 7. scanf(%d%d,&a,&b); 8. if(a=0)&(b=0) 9. break; 10. if(a=b) printf(Errorn); 11. else 12. 13. if(a1000)|(b1000) printf(Errorn); 14. else 15. 16. for(i=a,counter=0;i=b;i+) 17. 1

12、8. number1=i/1000; 19. number2=i/100%10; 20. number3=i/10%10; 21. number4=i%10; 22. if(number1!=number2)&(number1!=number3)&(number1!=number4)&(number2!=number3)&(number2!=number4)&(number3!=number4) 23. 24. if(i%2)=0) 25. 26. printf(%d ,i); 27. counter+; 28. 29. 30. 31. printf(n); 32. printf(counte

13、r=%dn,counter); 33. 34. 35. 36. while(a!=0)&(b!=0); 37. return; 38. 26 二年級小學生的題目成績: 10 / 折扣: 0.8兩個二年級小朋友在一起玩游戲,小明給出一堆不超過兩位的正整數(shù)和運算要求(+、-、*、/、%),小麗要找出這些整數(shù)中的最大值和最小值,然后按照小明的要求算出最大數(shù)與最小數(shù)進行算術運算的結果。輸入:用逗號分隔的不超過兩位的正整數(shù)序列,及其運算符和等號輸出: 最大數(shù) op 最小數(shù)=結果1. #include 2. int main() 3. 4. int op=0; 5. int max=0; 6. int m

14、in=99; 7. int mark=0; 8. int n1=-1,n2=-1,n=0; 9. for(;1;) 10. 11. char c; 12. scanf(%c,&c); 13. if(c=,) 14. 15. if(mark=1) 16. n=n1; 17. else if(mark=2) 18. n=n1*10+n2; 19. if(nmax) 20. max=n; 21. if(nmin) 22. min=n; 23. mark=0; 24. n1=-1,n2=-1; 25. continue; 26. 27. if(c=+) 28. op=1; 29. else if(c=

15、-) 30. op=2; 31. else if(c=*) 32. op=3; 33. else if(c=/) 34. op=4; 35. else if(c=%) 36. op=5; 37. else if(c=) 38. break; 39. else if(c=0) 40. 41. if(mark=0) 42. n1=c-0;mark=1; 43. else if(mark=1) 44. n2=c-0;mark=2; 45.46. 47. 48. switch (op) 49. 50. case 1: 51. 52. printf(%d + %d = %dn,max,min,max+m

16、in); 53. break; 54. 55. case 2: 56. 57. printf(%d - %d = %dn,max,min,max-min); 58. break; 59. 60. case 3: 61. 62. printf(%d * %d = %dn,max,min,max*min); 63. break; 64. 65. case 4: 66. 67. if(min=0) 68. printf(Error!n); 69. else 70. 71. printf(%d / %d = %dn,max,min,max/min); 72. 73. break; 74. 75. ca

17、se 5: 76. 77. if(min=0) 78. printf(Error!n); 79. else 80. 81. printf(%d % %d = %dn,max,min,max%min); 82. 83. break; 84. 85. 86. 27 等值數(shù)列段成績: 10 / 折扣: 0.8如果一個數(shù)列中的某一段(至少有兩個元素)的各元素值均相同,則稱之為等值數(shù)列段。等值數(shù)列段中元素的個數(shù)叫做等值數(shù)列段的長度。輸入:由N個元素組成的整數(shù)數(shù)列A(其中N=50)輸出:A中長度最大的所有等值數(shù)列段的始末位置,如果沒有等值數(shù)列段,則輸出No equal number list.說明:始末位

18、置是指數(shù)組下標,即0表示第一個元素。如果有多個同等長度的等值數(shù)列,只輸出第一個等值數(shù)列的起始位置。當在一個LIST中出現(xiàn)兩個等長的連續(xù)串的時候,我們的答案應該是第一個等長串。1. #include 2. int main() 3. 4.5. for(;1;) 6. 7. int num50=0; 8. int n=0; 9.10. scanf(%d,&n); 11. for(int i=0;in;i+) 12. scanf(%d,&numi); 13. int starttemp=num0; 14. int start=num0; 15. int a=-1; 16. int b=0; 17.

19、int count=1; 18. int counttemp=1; 19.20. for(int i=1;icount) 27. b=a;count=counttemp; 28. continue; 29. 30. else 31. 32. counttemp=1; 33. 34.35. 36. if(a=-1) 37. printf(No equal number list.n);break; 38. else 39. printf(The longest equal number list is from %d to %d.n,b+1-count,b); break; 40. 41. 28

20、 大家一起做游戲成績: 15 / 折扣: 0.8幼兒園的小朋友們剛學習了如何數(shù)數(shù),阿姨在下課時組織大家一起玩游戲。規(guī)則如下:所有的小朋友繞成一圈,順序排號,從第一個小朋友開始報數(shù),凡是報到固定數(shù)字(例如5)的,都退出該游戲,直到只剩下一位小朋友游戲才中止。每個小朋友都希望自己能有更多的練習數(shù)數(shù)的機會,所以都希望成為最終被留下的那位?,F(xiàn)在,請大家?guī)托∨笥褌冇嬎阋幌?,在第一次排號的時候排到第幾位才能成為最終被留下的小朋友。輸入:小朋友的個數(shù)(=50) 要被練習的數(shù)字輸出:最終被留下的小朋友的序號說明:如“要被練習的數(shù)字”是5,則每次數(shù)到5的同學要退出該游戲1. #include 2. void m

21、ain() 3. 4. int N,n,i,s=0,a; 5. scanf(%d %dn,&N,&n); 6. for(i=2;i=N;i+) 7. s=(s+n)%i; 8. a=s+1; 9. printf(The left child is NO %d.n,a); 10. 29 組成最大數(shù)成績: 10 / 折扣: 0.8任意輸入一個自然數(shù),輸出該自然數(shù)的各位數(shù)字組成的最大數(shù)。例如,輸入 1593 ,則輸出為 9531 。輸入: 自然數(shù) n 輸出: 各位數(shù)字組成的最大數(shù) 1. #include 2. #include 3. int main() 4. 5. char a,c; 6. int

22、 i,j,k; 7. scanf(%s,&a); 8. i=strlen(a); 9. for(j=0;ji-1;j+) 10. for(k=0;ki-j-1;k+) 11. 12. if(akak+1) 13. 14. c=ak; 15. ak=ak+1; 16. ak+1=c; 17. 18. 19. printf(%s,a); 20. printf(n); 21. 30 刪除重復字符成績: 5 / 折扣: 0.8背景: 輸入一個長度不超過 100 的字符串,刪除串中的重復字符。輸入:輸入要檢查的字符串,長度不超過100個字符。例如:abacaeedabcdcd。輸出:刪除重復字符后的字符

23、串。例如:abced。 1. #include 2.3. #include 4.5. int alread_saved(char lastchar, char newstr, int j) 6.7. 8.9. int i=0; 10.11. while(ij) 12.13. 14.15. if(lastchar=newstri)return 1; 16.17. i+; 18.19. 20.21. return 0; 22.23. 24.25. void main() 26.27. 28. char str100; char newstr100; int n,i,j; 29.30. i=0; 3

24、1.32. j=0; 33.34. gets(str); 35.36. while(stri!=0) 37.38. 39.40. if(!alread_saved(stri,newstr,j) 41. newstrj=stri; j+; 42.43. 44. i+; 45.46. 47.48. newstrj=0; 49.50. puts(newstr); 51.52. 31 合并字符串成績: 10 / 折扣: 0.8輸入兩個已經按從小到大順序排列好的字符串,編寫一個合并兩個字符串的函數(shù),使合并后的字符串,仍然是從小到 大排列。輸入:兩個已經排好順序(升序)的兩個字符串輸出:一個合并在一起的有

25、序(升序)的字符串要求:設計一個效率盡量高的算法,對每個字符串只掃描一遍就可以了。如果采用先進行串連接,然后再進行排序的算法,則效率太低了。1. #include 2.3. #include 4.5. void MergeList(char str1,char str2,char str3); 6.7. void main() 8.9. 10. char str1100; char str2100; char str3100; gets(str1); gets(str2); 11.12. MergeList(str1,str2,str3); 13.14. printf(%sn,str3); 1

26、5.16. 17.18. void MergeList(char str1,char str2,char str3) 19.20. 21.22. int i,j,k; 23.24. i=0;j=0;k=0; 25. int lengthOfStr1,lengthOfStr2; lengthOfStr1=strlen(str1); lengthOfStr2=strlen(str2); 26. while(ilengthOfStr1&jlengthOfStr2) 27.28. 29. if(str1i=str2j) str3k+=str1i+; else str3k+=str2j+; 30.31.

27、 32. while(ilengthOfStr1)str3k+=str1i+; while(jlengthOfStr2)str3k+=str2j+; str3k=0; 33.34. 32 串的減法成績: 10 / 折扣: 0.8輸入字符串s和t(串長不超過80個字符),將在字符串s中出現(xiàn),但未在字符串t中出現(xiàn)的字符組成一個新的字符串放在u中,u中字符按原字符串中字符順序排列,不去掉重復字符,輸出u。例如:當s=,t=2467時,u=1135。輸入:第一行為串s第二行為串t輸出:串u1. #include 2. #include 3. int main() 4. 5. char a80; 6.

28、char b80; 7. gets(a); 8. gets(b); 9.10. int l=strlen(a); 11.12. for(int i=0;bi!=0;i+) 13. 14. for(int j=0;jl;j+) 15. if(aj=bi) 16. aj=0; 17. 18. for(int k=0;kl;k+) 19. if(ak!=0) 20. printf(%c,ak); 21. printf(n); 22.23. 33 單詞排序成績: 10 / 折扣: 0.8輸入 5 個單詞,將它們按從大到小的順序排列后輸出。輸入:5個單詞輸出:排序后的順序1. #includestdio

29、.h 2. #includestring.h 3. void main() 4. char ch526,c26; 5. int i,j,k; 6. for(i=0;i5;i+) 7. gets(chi); 8. for(i=0;i4;i+) 9. k=i; 10. for(j=i+1;j5;j+) 11. if(strcmp(chk,chj)0) k=j; 12. if(k!=i) 13. strcpy(c,chi); 14. strcpy(chi,chk); 15. strcpy(chk,c); 16. 17. for(i=0;i5;i+) puts(chi); 18. 34 北理工的惡龍成

30、績: 10 / 折扣: 0.8背景:最近,北理工出現(xiàn)了一只惡龍,它長著很多頭,而且還會吐火,它將會把北理工燒成廢墟, 于是,校長下令召集全校所有勇士殺死這只惡龍。要殺死這只龍,必須把它所有的頭都砍掉,每個勇士只能砍一個龍頭,龍的每個頭大小都不一樣,一個勇士只有在身高不小于龍頭的直徑的情況下才能砍下它。而且勇士們要求,砍下一個龍頭必須得到和自己身高厘米數(shù)一樣的學分。校長想花 最少的學分數(shù)殺死惡龍,于是找到你尋求幫助。輸入:第一行 龍頭數(shù) n , 勇士人數(shù) m ( 1=n, m=100 ) 接下來 n 行,每行包含一個整數(shù),表示龍頭的直徑 接下來 m 行,每行包含一個整數(shù),表示勇士的身高 l輸出:

31、如果勇士們能完成任務,輸出校長需要花的最小費用;否則輸 出 “ bit is doomed! ” 1. #include 2.3.4. int main() 5. 6. int dragon,hero; 7. scanf(%d%d,&dragon,&hero); 8. int dragonhead100=0; 9. int herohight100=0; 10. /input 11. for(int i=0;idragon;i+) 12. scanf(%d,&dragonheadi); 13. for(int i=0;ihero;i+) 14. scanf(%d,&herohighti); 1

32、5. /make the date in order 16. int temp; 17. for(int i=0;idragon;i+) 18. 19. for(int j=0;jdragonheadj+1) 22. 23. temp=dragonheadj; 24. dragonheadj=dragonheadj+1; 25. dragonheadj+1=temp; 26. 27. 28. 29.30. for(int i=0;ihero;i+) 31. 32. for(int j=0;jherohightj+1) 35. 36. temp=herohightj; 37. herohight

33、j=herohightj+1; 38. herohightj+1=temp; 39. 40. 41. 42.43. /arrange hero to kill the dragon 44. int start=0; 45. for(int i=0;idragon;i+) 46. 47. for(int j=start;j=dragonheadi) 50. 51. dragonheadi=0; 52. start+; 53. break; 54. 55. else 56. 57. herohightj=0; 58. start+; 59. 60. 61. if (starthero) 62. b

34、reak; 63. 64. for(int i=start;ihero;i+) 65. herohighti=0; 66.67. /caculate the grade 68. int sd=0; 69. int sh=0; 70. for(int i=0;idragon;i+) 71. sd=sd+dragonheadi; 72. for(int i=0;ihero;i+) 73. sh=sh+herohighti; 74.75. if(sd=0) 76. printf(%dn,sh); 77. else 78. printf(bit is doomed!n); 79. 35 殺雞用牛刀要用

35、遞歸??!成績: 5 / 折扣: 0.8背景:哈哈!我們終于學了遞歸了,現(xiàn)在大家一定感到非常有意思吧,那個典型的“漢諾塔”問題,一個非常短的程序居然可以完成如此復雜的工作,真是神奇??!來吧,讓我們也動手編寫一個遞歸程序,當然,我們要編寫的不可能太復雜。功能:求整數(shù) n 到 m 區(qū)間的累加和,其中n=m。輸入:區(qū)間的起始點n 區(qū)間的終止點m輸出:累加和要求:使用遞歸算法完成。如此簡單的題目當然要有隱含的測試用例啦,就3個,看看誰能猜出來1. #include 2. int sum(int n,int m) 3. 4. return n=m?n:sum(n,m-1)+m; 5. 6. int mai

36、n() 7. int n,m; 8. scanf(%d%d,&n,&m); 9. printf(The sum from %d to %d is %d.n,n,m,sum(n,m); 10. return 0; 11. 36 科學記數(shù)法成績: 10 / 折扣: 0.8對于非常大或者非常小的數(shù)據(jù),我們通常用科學記數(shù)法來表示。例如在科技文獻和電腦中經常遇到的 2.3106 (計算機中的科學記數(shù)法表示為:2.3E6),或者 9.1810-5 (科學記樹法表示:9.18E-5)這種類型的數(shù)據(jù)。 輸入:用科學記數(shù)法表示的數(shù)據(jù)。即為符合C語言表示的科學記數(shù)法表示。輸出:該數(shù)據(jù)的雙精度表示說明:輸入數(shù)據(jù)的精

37、度不高于小數(shù)點后50位。輸入數(shù)據(jù)時,在實數(shù)和冪之間有空格進行分隔,空格個數(shù)不定。結果保留到小數(shù)點后8位,如不足8位用0補足,超過8位則截斷,不進行四舍五入的處理。1. #include stdio.h 2. int main() 3. 4. int p=-1,n,i=0,j,sign=0,flag=0;char c,s100; 5. while(scanf(%c,&c)&c!=e&c!=E) 6. if(c=.)p=i-1; 7. else if(c=0)si=c,i+; 8. else if(c=-)sign=1; 9. else if(p0)p=i-1; 10. for(j=i;j=60;

38、j+) 11. sj=0; 12. scanf(%d,&n); 13. p+=n; 14. if(sign)printf(-); 15. if(p0) 16. 17. p=-p-1; 18. printf(0.); 19. for(i=1;i=p&i=8;i+) 20. printf(0); 21. for(i=1;i=8-p;i+) 22. printf(%c,si-1); 23. 24. else 25. 26. i=0; 27. while(i=p) 28. 29. if(si=0&!flag&ip)i+; 30. elseflag=1;printf(%c,si+); 31. 32. p

39、rintf(.); 33. for(j=1;j=8;j+) 34. printf(%c,si+); 35. 36. printf(n); 37. return 0; 38. 37 大數(shù)分解成績: 5 / 折扣: 0.82007級在“計算機科學導論”的期末考試中有一道試題。下面請你看看那題目應該如何編寫。從鍵盤輸入的一個大于 1 的整數(shù),通過算法將該整數(shù)分解為若干因子的乘積。輸入:一個正整數(shù)。輸出:分解后的各個因子。1. #include 2. void main() 3. int n,i; 4. scanf(%d,&n); 5. for(i=2;n1;) 6. if(n%i=0) 7. pri

40、ntf(%dn,i);n/=i; 8. 9. else i+; 10. 11. 38 回文字符串遞歸成績: 5 / 折扣: 0.8有一種特殊形式的字符串,其正反序相同,被稱為“回文字符串”。例如LeveL就是一個回文字符串。輸入:字符串輸出:Yes或者No說明:如輸出Yes,說明輸入的字符串是一個回文字符串輸出No,說明輸入的字符串不是一個回文字符串請使用遞歸算法實現(xiàn)。1. #include 2. #include 3. int fun(char str,int a,int b) 4. 5. if(stra!=strb) return 0 ; 6. else if(a=b|a+1=b&stra+1=strb) return 1; 7. else if(stra=strb) return 1&fun(str,a+1,b-1); 8. 9. void main() 10. char str100; scanf(%s,str); int n; n=strlen(str); 11. switch(fun(st

溫馨提示

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

評論

0/150

提交評論