顯示廣告
隱藏 ✕
※ 本文為 xxxx9659.bbs. 轉寄自 ptt.cc 更新時間: 2013-03-30 14:09:29
看板 C_and_CPP
作者 deo2000 (800IM)
標題
 [討論] 九九乘法表

時間 Wed Jan  9 22:54:53 2013


最近接到一家BIOS公司的面試通知
並且告訴我會考C語言,請我事先準備
「聽說這家面試千篇一律都考九九乘法表,那不是初學程式都會練習的迴圈題目嗎?」
所以我起先是很小看這次面試的

但過了一兩天,我又想事情可能沒這麼單純,
或許就像變魔術一樣,簡單的考題只是障眼法,以此過濾出太過的自滿應試者。
或許一個正真的高手,不會只是流於簡單的雙層迴圈,
而是能夠寫出目眩神迷、讓人讚嘆的九九乘法表,

用C寫一個九九乘法表,除了雙層迴圈以外,還有哪些出神入化的創意的寫法呢?


--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.22.58
uranusjr:查表01/09 23:03
deh3215:外面工作其實不需要出神入化的code,好維護,模組化高比較好01/09 23:07
asilzheng:/九九  就有一堆了  (剛才查過一遍)01/09 23:12
lungswu:A? I? P? 哪一家?01/09 23:17
MOONRAKER:因為決定不了要用哪一招沒寫完 輕鬆敗給坐下來就寫毫無01/09 23:38
MOONRAKER:技巧的競爭者 壓比!
james732:工作我覺得易懂好改的程式就夠了,畢竟都要跟別人合作01/09 23:46
littleshan:不用什麼奇技淫巧啦,考這個只是要確認你會迴圈01/10 00:08
littleshan:很多人連迴圈都不會就宣稱自己會寫C了 (無誤
PkmX:用recursive或是continuation passing style (誤01/10 00:17
EdisonX:九九乘法表用 C 寫總不會要寫 meta programming  吧01/10 01:12
johnny94:你可以printf 81次阿 還滿屌的(誤01/10 01:50
prismwu:只寫一個printf 1行寫完如何01/10 01:59
EdisonX:http://ppt.cc/8_3E    ??01/10 02:14
[作業文] 一行版九九乘法表 @ 藍影 :: 痞客邦 PIXNET ::
九九乘法表寫到不想寫了 這次來個 kuso 的一行版九九乘法表 雙變數版 for(int i=1, j=1; i<=9; printf("%2d*%2d=%2d\n&quot ...
 
devilphoenix:meta programming雙重循環啊,估計寫出來你就掛了01/10 03:32
devilphoenix:三個偏特化吧,人家沒看懂
loveme00835:如果他說你不能用printf再來擔心吧http://ppt.cc/T6PP01/10 06:24
LiveWorkSpace(IDE online): C++-4.7.2 (gcc): D626S
IDE online with many programming languages. Always up to date! ...
 
loveme00835:沒注意到是 C ...01/10 06:55
wope:printf 不能用就改成fprintf...01/10 09:16
yoco315:EdisonX 上次我公司來一個面試的,說他都是寫 Java,最近01/10 10:53
yoco315:才開始自修C++但還沒有真正用C++開發過東西,我老闆就考他
yoco315:用meta實作九九,結果他竟然正確無誤的寫出來了
yoco315:我震撼不已,於是問他:你過去幾年不是都寫Java嗎?怎麼
yoco315:寫的出 meta programming?他回答:「我有讀書」
yoco315:我感動了。這個人後來沒有來我們公司,去 mozilla 了 XD
ibmibmibm:meta版 http://ideone.com/yPdwcd01/10 11:51
EdisonX: @@ 果真引出一堆 meta..不過 yoco 說的案例也讓我驚了.01/10 12:12
EdisonX: oh 對了,有人問過, C 語言裡的 #define 能不能仿 meta ?
johnlinvc:我覺得template只能算meta的一種..01/10 12:45
johnlinvc:跟lisp 和 ruby 比起來,cpp 的meta 能力相當弱
devilphoenix:一個比較適合笨人的版本 http://ideone.com/pPdvOW01/10 12:55
loveme00835:devil大乾脆把ftw當base放建構子印就好啦 :D01/10 13:05
PkmX:我說你們為什麼要把compile時已知的字串在runtime算呢′∀‵01/10 16:11
PkmX:http://liveworkspace.org/code/3FS2jB$2
LiveWorkSpace(IDE online): C++-4.7.2 (gcc): 3FS2jB
IDE online with many programming languages. Always up to date! ...
 
PkmX:想跑到9x9的請準備好記憶體XD01/10 16:11
devilphoenix:主要是ibm兄找的那個網站僅能看stdout吧,如果01/10 16:14
devilphoenix:可以看到編譯信息……
PkmX:http://liveworkspace.org/code/3FS2jB$3 加了對應的haskell01/10 16:57
LiveWorkSpace(IDE online): C++-4.7.2 (gcc): 3FS2jB
IDE online with many programming languages. Always up to date! ...
 
PkmX:code 可以發現是用某種關係翻譯過去的XD01/10 16:57
johnlinvc:看完了haskell 覺得template 實在有夠囉唆....01/10 17:16
loveme00835:P大讓我頭腦好痛 xDD01/10 18:22
loveme00835:好久沒用了 http://boost.codepad.org/ 常用的 mpl
loveme00835:funxions 應該都能用, 只是編不編得過而已...01/10 18:25
shec1213:AMI? 那間的話用迴圈寫就好了...01/10 21:22
PkmX:continuation passing style: http://goo.gl/32sGI01/11 01:57
LiveWorkSpace(IDE online): C++-4.7.2 (gcc): deqgj
IDE online with many programming languages. Always up to date! ...
 
LiveWorkSpace(IDE online): C++-4.7.2 (gcc): deqgj
IDE online with many programming languages. Always up to date! ...
 
PkmX:應該要加個version number 要不然會被別人改掉= =01/11 13:00
deo2000:那如果nVIDIA考這題(誤)該用什麼寫? 用CUDA?!01/11 13:16
loveme00835:後面的 $0 就是版本呀01/11 13:48
loveme00835:xD 原來兩個是一樣的
azureblaze:http://ideone.com/GPhO6v 不會meta只好試試別的方向01/11 16:06
azureblaze:本來想做腦幹interpreter,可是script會寫到起肖XD
cobrasgo:我可以假設這篇很多人頭髮很少嗎XD01/12 00:49
PkmX:應該還好啦 這些大學的PL課程都會教不是嘛XD01/14 09:15
allstarschh:能夠讓yoco大感動真的太高興了 yoco是我心中的大神~01/18 09:56

--
※ 看板: xxxx9659 文章推薦值: 0 目前人氣: 0 累積人氣: 370 
guest
x)推文 r)回覆 e)編輯 d)刪除 M)不收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇