C/C++ 自我挑戰題
第一部分:共 6 題
輸入:任意整數 N ( 0<= N <= 2147483647 )
輸出:其二進位的值。
範例:
◦
輸入: 5◦
輸出: 101◦
輸入: 63◦
輸出: 111111(1) 十進位轉二進位
(2) 插入排序法( Insertion Sor t )
讓使用者輸入 6 個資料的一維陣列,使用插入排序法將之 由小排到大:
◦
規定左方為已排好的數列(藍色),將右方未排數列(紫色)的第 一個數字一直向左交換,直到順序正確為止。36 8 15 12 40 3
8 36 15 12 40 3
8 15 36 12 40 3
8 12 15 36 40 3
j = 1 j = 2 j = 3 j = 4
j
(3) 找質數
讓使用者輸入一個正整數 n ,請印出 1~n 這個範圍
間的質數有哪些( n<100000 )
使用二維陣列,讓使用者任意輸入 5 個英文單字(每個單 字不超過 10 個字元)後,再將之使用字典順序由小排到 大輸出。
◦
提示:二維陣列 + strcmp() + strcpy() + 氣泡 ( 或插入 ) 排 序法。(4) 字典排序
zebra cat ball dog apple
apple ball cat dog zebra
輸入: 輸出:
試建立一個大小為 49 的陣列,並且在這個陣列中隨機填 入 1~49 的整數,你必須想出一個演算法讓這個過程最快。
(目前最快的方法其時間複雜度為 O(N) )
(5) 亂數 49