close

以下100題請在留言區 寫下你的程式

1. 將一連串數字(每個數字為0~9)輸入, 計算其和. Ex: 輸入 12345, 輸出為 15 (1+2+3+4+5=15)

2. 輸入一個字串, 並把它反向輸出

3. 假設這期的統一發票中獎號碼為012726363941220194586356。請設計一程式讓使用者輸入一組發票號碼即可印出中獎金額。

   (其中末三碼相同獎金200元;末四碼相同獎金1000元;末五碼相同獎金4000元;末六碼相同獎金10000元;末七碼相同獎金40000元;號碼全部相同獎金200000元。

4. 請設計一樂透亂數選號程式,由1~42中選出6個不重覆的數字組合並輸出。

5. 設計一個程式由1~10的亂數隨機產生一10*10的二維陣列,將行列互換輸出(即輸出轉置矩陣)

6. 輸入一個字元, 判斷是大寫或小寫或是其他字元

7. 輸入一個字元, 轉換其大小寫輸出 (大寫 ->小寫, 小寫->大寫)

8. 讓使用者輸入一攝氏溫度,輸出相對應的華氏溫度。(F=C*9/5+32)

9. 讓使用者輸入性別與身高,並依據男女不同, 幫她()計算並輸出其標準體重 (男:(身高-170)*0.6+62 女:(身高-158)*0.5+52)

10. 迴文(palindrome)是指從前面讀和從後面讀都相同的一段文字. 請撰寫一個程式讀入一個字串,判斷它是否為迴文。

    例如下列字串都是迴文:12321,AABBCCBBAA

11. 輸入兩個整數, 計算其合, , 乘積.

12. 輸入國文, 英文和數學成績, 計算其總分數及每科平均成績

13. 寫一函數square(n,c),c字元,印出邊長為n之實心正方形。Ex: square(3,'@') 將印出如下形狀

    @@@

    @@@

    @@@

14. 設計一函數F(w,h),印出寬w,h如下的數字矩陣。

        (w=5,h=3為例)

        1  2  3  4  5

        2  4  6  8 10

        3  6  9 12 15

    其中第二行是第一行的兩倍, 第三行是第一行的三倍, 以此類推.

15. 寫一程式,讓使用者輸入身高(cm)及體重(kg),作單位換算輸出身高(英吋)及體重()(1=0.454公斤,1=2.54公分)

16. 輸入一正整數, 判斷其奇偶.

17. 寫一函數lcm(x,y,z),求三數x,y,z之最小公倍數。

18. 輸入兩個整數, 輸出 C(m,n). C(m,n)=m!/[n!(m-n)!]

19. 輸入一個字元利用其  ASCII code 大小判斷是大寫或小寫或是其他字元

20. 輸入一串數字, 寫出一數字拆解函數decomp(n), 將其個別數字用空白分開 (ex: 輸入 128917178, 輸出 1 2 8 9 1 7 1 7 8).

    decomp(4562) 印出 4  5  6  2

    decomp(8279) 印出 8  2  7  9

21. 設計一猜數字遊戲(1~5之間選擇一亂數,讓使用者猜一次,並顯示結果

22. 以遞迴設計函數,輸入一個正整數值(不含0),傳回該數值是幾位數(# of digits).

    例如,輸入4395,則函數傳回4.

23. 亂數產生三個1~100間的正整數亂數,判斷並輸出三數中之最大值及最小值。

24. 讓使用者輸入三角形的三邊長a, b, c(a<=b<=c),判斷並輸出a, b, c是否為合法三邊長。

25. 讓使用者輸入一合法三角形的三邊長a, b, c(a<=b<=c)

    判斷並輸出該三角形為「直角Δ」,「鈍角Δ」,或「銳角Δ」。

26. 寫一遞迴函數,求m,n兩數的最大公因數gcd,m,n由鍵盤輸入.

        (:以輾轉相除法,兩數相除後,再以其除數除以餘數,直到餘數為零.)

        (: gcd(x,y) = gcd(y, x%y); gcd(x,0) = x)

27. 由亂數產生三個1~3000間的正整數代表西元年,並求該年是平年或閏年。(4年一潤,逢100不潤,逢400又潤)

28. 由亂數產生一1~1000的貨品價格,求出若以仟元鈔付款購買,應找回最少的錢幣個數 500,100,50,10,5,1元各為若干個。

29. 由亂數產生一1~1000的價格,並跟據此價格在螢幕上印出「????元」字樣。

30. 讓使用者輸入六個數,統計正數, 負數及零各有多少個。

31. 讓使用者輸入x,並計算y值輸出,其公式如下:

    y = 3 * x^2            x < -1

    y = x^3 + 3 * x - 3 -1 <= x <= 1

    y = 2 * x + 3          x > 1

32. 宣告一5*7的二維整數陣列,Random產生陣列元素(0~100),並將行列互換輸出。

33. 讓使用者輸入其生日,並輸出其所屬對應星座。

34. 電話公司的計費方式是:

        600分鐘以下每分鐘0.5;

        600~1200分鐘電話費以9折計算;

        1200分鐘以上電話費以79折計算,

        讓使用者輸入單月使用分時間(分鐘),算出電話費()

35. 讓使用者輸入一正整數n,用for迴圈計算n!後輸出。

36. 讓使用者輸入一正整數n,用while迴圈計算n!後輸出。

37. 設計一class 包含下列資訊:學號、姓名、國文成績、英文成績、數學成績,

    並於主程式讓使用者輸入

    五位學生的資料並根據平均成績由高至低輸出如下:

 

        學號 姓名 國文成績 英文成績 數學成績 平均成績

        ---------------------------------------------

       

        --------------------------------------------

        各科平均:

38. 讓使用者輸入一正整數n,計算1*(1+1) + 2*(2+1) + 3*(3+1) + + n*(n+1)並輸出結果。

39. 讓使用者輸入一正整數n,計算1/(1*2)+1/(3*4)+1/(5*6)++1/[(2n-1)*(2n)]並輸出結果。

40. 讓使用者輸入一正整數n,並輸出2^1+2^2+2^3+...+2^n的值。

41. 印出邊長和小於200的所有可能的直角三角形三邊長

42. 讓使用者輸入一正整數n,以字元 '*' 輸出邊長為n的正方形 (請利用迴圈, 不要直接用 printf方式直接輸出)

43. 讓使用者輸入一正整數n,以字元 '*' 輸出高度為n的三角形如下所示:(請利用迴圈, 不要直接用 printf方式直接輸出)

    ex. n=4

        *

        **

        ***

        ****

44.讓使用者輸入一正整數n,以字元 '*' 輸出高度為n的三角形如下所示:(請利用迴圈, 不要直接用 printf方式直接輸出)

    ex. n=4

           *

          **

         ***

        ****

45. 讓使用者輸入一正整數n,以字元 '*' 輸出高度為n的三角形如下所示:(請利用迴圈, 不要直接用 printf方式直接輸出)

    ex. n=4

       *

      ***

     *****

    *******

46. 讓使用者輸入一正整數n,輸出n的所有正因數,並判斷該整數是否為質數。

47. 在螢幕上印出九九乘法表

48. 設計一個程式,讓使用者輸入一個正整數,並將該數字反轉印出,如輸入:12345,輸出:54321.

49. 讓使用者輸入一正整數n,判斷並輸出該整數為幾位數

50. 讓使用者輸入一正整數,找出一連續整數數列讓該數列的和為此一正整數,

        例如:15=1+2+3+4+5

                =4+5+6

                =7+8

        有些正整數並不能找出連續整數,若找不到時,請印出找不出該數列。

51. 輸入一個正整數N,列舉如下數列,直到數字超過N為止.

        數列一: 1,2,4,7,11,16,22,29,.....

                         1 2 3 4  5  6  7

        數列二: 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,.....

52. 讓使用者輸入一正整數n,並輸出小於n的所有質數。

53. 設計一猜數字程式,由電腦隨機產生一亂數(1~100)讓使用者來猜。每猜一次程式必須回應使用者<答對><太大><太小>

    一直到猜對才結束程式。

54. 電腦用亂數產生一四個位的正整數,並讓使用者輸入一四位數,判斷並輸出使用者猜中幾位數?

55. 設計一個程式讓使用者輸入5位學生的考試成績,

    並分別印出(1)全班成績平均分數、(2)不及格人數(低於60分者)(3)最高及最低分數。

56. 讓使用者和電腦玩取火柴遊戲,規則如下:一盒火柴,12根火柴棒,

    每一回合使用者可以任意取走1~3根,電腦一樣任意取走1~3根,取到最後一根者為輸家。

57. 計算010各數的平方(square)和立方(cube),並印出結果如下:

                平方    立方

            0       0          0

            1       1          1

            2       4          8

            3       9         27

                    ..... 

           10     100       1000

58. 讓使用者輸入一正整數n,輸出1+2+3++m<=n的最大整數m=?

59. 設計一個程式,讓使用者輸入一個正整數n,判斷並輸出n的多少次方才會大於10000.

60. C 學號排列: 某個檔案中含有所有學生的學號, 但並沒有按照大小次序排列. 請寫一程式依學號大小排列並將結果輸出至檔案.

61. 輸入正整數n,以遞迴求費氏(Fibonacii)係數值f_n,其公式為:

        f_1 = f_2 = 1

        f_n = f_n-1 + f_n-2, n>=1

62. 撰寫一函數void square(arr),在呼叫square(arr) 函數後,一維陣列arr 裡的每一個元素皆會被平方。

63. 寫一個簡單的學生成績管理的程式, 輸入資料包含輸入學號,成績等資料, 並加入"增加資料" "刪除資料" "顯示學號,成績(依照學號大小排列)"等功能.

64. 設計一ISBN檢查碼程式

    書碼次序   1 2 3 4 5 6 7 8 9 10

    乘上倍數  10 9 8 7 6 5 4 3 2 1

    判斷規則 計算每個字碼的總和,然後將各數字和相加所得答案除以11,若可以整除,則為正確的書號。

        Ex. ISBN: 0-13-319831-6 為例

            0*10+1*9+3*8+3*7+1*6+9*5+8*4+3*3+1*2+6*1=154

            => 為正確的ISBN書號

65. 輸入兩個任意多項式, 計算兩個多項式的和.

66. 請設計一程式檢查輸入的身份證代號是否正確.

    身份證代號共10(XS1234567C),檢查規則如下:

        X: 地區碼,範圍A-Z,所代表縣市,和其編碼數字如下:

                A 台北市 10  J 新竹縣 18   S 高雄縣 26  I 嘉義市 34

                B 台中市 11  K 苗栗縣 19  T 屏東縣 27  O 新竹市 35

                C 基隆市 12  L 台中縣 20  U 花蓮縣 28

                D 台南市 13  M 南投縣 21 V 台東縣 29

                E 高雄市 14  N 彰化縣 22  X 澎湖縣 30

                F 台北縣 15  P 雲林縣 23  Y 陽明山 31

                G 宜蘭縣 16  Q 嘉義縣 24 W 金門 32

                H 桃園縣 17  R 台南縣 25  Z 馬祖 33

        S: 性別碼,1表男性,2表女性

        1234567: 流水編號7

        C: 檢查碼,欄位1-9乘上加權數之總和,除以10之餘數,10減之,即檢查碼.

     例如:

                   D  2  1  2  3  4  5  6  7  原代號

                1  3  2  1  2  3  4  5  6  7  編碼數字

                1  9  8  7  6  5  4  3  2  1  x 固定權數

                --------------------------------------

                1+27+16+ 7+12+15+16+15+12+ 7  =128

                其和為128,取個位數8,10減之,2,即檢查碼為2.

                故完整身份證代號應該為 D212345672.

67. 類似 63 問題, 寫一個簡單的學生成績管理的程式, 輸入資料包含輸入學號, 成績等資料, 以及"增加資料" "刪除資料" "修改資料" "儲存資料"

    "顯示學號,成績(依照學號大小排列)" "離開系統" 等功能.

68. 類似 67 問題, 寫一個簡單的學生成績管理的程式, 輸入資料包含輸入學號, 姓名, 成績等資料, 並增加 "查詢所有資料" "查詢個別學生資料"等功能

    "查詢所有人資料" 需可依 "學號" "成績" 排序顯示, 並顯示學生數, 平均分數即標準差, "查詢個別學生資料"需提供依 "學號" "姓名" "成績"

    等方式查詢. 查詢成績可依單一分數或分數區間(例如:60~90)方式查詢.

69. 請寫一個使用十進位計算的程式,可具有任意位數精確度的正整數加法與乘法.

70. 輸入 n 個元素 (數字或字元), 請寫一個程式列出 n 個元素的所有可能排列.

71. 寫出氣泡排序法的程式:Ex: void bubble(int data[],int n)

72. 寫出插入排序法的程式:Ex: void insertion(int data[],int n)

73. 寫出快速排序法的程式:Ex: void quick(int data[],int left,int right)

74. 設計一程式計算一文字檔內的字元個數。

75. 河內塔問題(Hanoi Tower).假設地面上有3,編號柱s,a,d;

    圓盤由小到大,總數為n,全置於柱s;

    現在目標是將n個圓盤,透過柱a,全搬移到柱d.

    一次由某柱搬移一個圓盤到另一柱的過程中,任何時候,

    3柱上的圓盤都必須保持小盤在大盤之上.

    請寫出解河內塔問題的遞迴函數

    void hanoi (int n, char s, char d, char a),印出n個圓盤的河內塔搬移方式。

76. 試用兩個方法以遞迴計算power(a,n)=a*n

    (方法一: power(a,n) = a * power(a,n-1))

    (方法二: power(a,n)=power(a,n/2)*poer(a,n/2) n為偶數

             power(a,n)=a * power(a,n-1)         n 為奇數)

77. 一個整數陣列中有正數,負數與 0. 請寫一程式找出這個陣列中連續的元素相乘的極大值

78. 寫一程式找出圖形中任意兩點的最短路徑. 一個圖形的輸入可以為

    4      (圖的總節點數)

    1 2 3  (1 為起點->2 為終點的連線, 連線的權重為 3)

    4 5 6  (4 為起點->5 為終點的連線, 連線的權重為 6)

    .....

    .....

    0 0 0 (表示結束)

79. 已知有兩個陣列 x, y, x[i], y[j] 是其中兩個元素. |x[i]-y[j]| 代表兩個元素間的距離. 而兩個陣列元素彼此之間差的絕對值中最小的一個,

    叫做陣列的距離. 請寫一程式算出任兩個陣列之間的距離.

80. 一個整數陣列中有正數,負數與 0, 而且元素也不重複. 請寫一程式找出這個陣列中連續的若干元素, 其和為 0.例如:1,2,3,-5,4 , 2,3,-5 和為0.

81. 已知兩個整數陣列 f[], g[], 它們的元素都已經自小到大排好, 而且兩個陣列的元素都各自不相同; 譬如: f[] 1,3,4,7,9, g[] 3,5,7,8,10.

    請寫一程式算出這兩個陣列彼此之間有多少組相同的資料. 以上例而言:f[2], g[1] 均為 3, 是第一組. f[4], g[3] 均為 7, 是第二組.

82. 寫一個程式, 將一個集合所有的子集合找出來. Ex: 集合 S={1,2,3,...n}

83. 有一邊長為n的方陣(1n21),輸入n後,試以程式繪出此一方陣,方陣結構如下,

        例如n=5時: 

               1  3  6 10 15

               2  5  9 14 19

               4  8 13 18 22

               7 12 17 21 24

              11 16 20 23 25

84. 請設計一個萬年曆,可以輸入任意年份(year)及月份(month),印出該月份月曆.

        20013月份為例,格式如下:

                SU MO TU WE TH FR SA

                             1  2  3

                 4  5  6  7  8  9 10

                11 12 13 14 15 16 17

                18 19 20 21 22 23 24

                25 26 27 28 29 30 31

        (:1.一年中,每月日數如下表,潤年二月份29,平年28

                月份        1  2  3  4  5  6  7  8  9 10 11 12

                日數        31 28 31 30 31 30 31 31 30 31 30 31

            2.潤年之判斷為4年一潤,100年不潤,400年又潤

            3.故西元111日為星期一,而一年有52個星期零1,

                故西元211日為星期二,以此類推.)

85. 讓使用者輸入一正整數n,並輸出兩個二維陣列A[n][n], B[n][n] 如下:/* 不要只用 printf, 嘗試用迴圈或其他方法 */

     ex. n=5

     A[5][5]=     1   2   3   4   5          B[5][5]=   1 10 11 20 21

                 10   9   8   7   6                     2  9 12 19 22

                 11  12  13  14  15                     3  8 13 18 23

                 20  19  18  17  16                     4  7 14 17 24

                 21  22  23  24  25                     5  6 15 16 25

86. 寫一個程式,讓使用者輸入一字串,將字串中所出現的數字相加,並將答案輸出。

87. 寫一程式計算兩個矩陣的乘法: Ex: A mxp 的矩陣, B pxn 的矩陣, C=AB mxn 矩陣

88. 輸入一方陣(nxn), 判斷其是否有反矩陣, 如果有請輸出其反矩陣

89. 輸入一聯立方程式, 判斷其是否有解, 無解或單一解, 並輸出方程式之解.

90. 請設計一函數myrand(n,m),產生n0~m之間的亂數,傳回並輸出這n個數的平均值.

91. 輸入一正整數(介於09999),印出其對應的英文表示法。(例如:輸入 52 =>fifty two, 輸入18 => eighteen, 100=> one hundred)

92. 八后問題: 在一個 8x8 西洋棋盤上如何放置八個皇后而不會相互吃到對方 (皇后可以吃掉位於它同一列同一行以及兩條對角線上的任何棋子),

    請寫一程式找出諸皇后放置的位置.

93. 西洋其中武士走的路徑和象棋中的馬相似, 都是走  L 型的路, 輸入一個大小 nxn 的矩陣, 找出一個起點和不重複的路徑,讓武士走完所有格子.

94. 設計一程式將兩個文字檔連接起來。

95. 假如有一個陣列x[], 它有 n 個元素, 每一個元素都大於0. x[0]+x[1]+...+x[i] 是其中的一個前段和, x[j]+x[j+1]+x[j+2]+...+x[n-1]

    是其中的一個後段和. 請寫一程式求出 x 中有多少組相同的前段和與後段和.

96. 請寫一個程式, 輸入一個 int 型態的資料, 並回傳該資料有多少個位元是 1.

97. 請寫一個程式, 輸入一個字串, 它會從字串中刪除空白字元, 並顯示結果.

98. 請寫一個程式, 輸入一個檔案, 計算屬於英文字母, 數字, 空白, 換行的字元各有多少.

99. 寫出合併排序法 (merge sort)的程式

100. 一個整數陣列中有正數,負數與 0. 請寫一程式找出這個陣列中連續的元素的和中最大的一個值.

 

 

arrow
arrow
    文章標籤
    演算法 程式
    全站熱搜

    tatar 發表在 痞客邦 留言(1) 人氣()