看板 C_and_CPP 關於我們 聯絡資訊
第一題: #include<stdio.h> #define big unsigned __int64 #define e (big)1000000000000 void main(){ big a=(big)2222222222222222222,b=581; int n; char str[14]; printf(">>請輸入相加次數:"); scanf("%d",&n); b*=n; if(b>e) ++a; sprintf(str,"%012I64u",b%e); printf(">>計算結果為:%I64u.%s\n",a,str); } ※ 引述《VVll (偽Wii)》之銘言: : 今天去遊戲公司(電子機台)做上機測驗 題目有3題 : 第一題解不出來 領便當了 哭哭 : VC++ : 題目1 計算2,222,222,222,222,222,222(19位) 與 0.000000000581(12位)相加n次的值 : 我用了土法煉鋼的方法 : 把變數1跟變數2 都設為string陣列 : int sum,n; : 將sum=n*581去做轉換 不過當N>1000000(7位數) : 且sum>10位數就會發生溢位 : int 範圍-2^31 ~ 2^31-1 : 也因為變數2*n沒辦法>1 所以與變數1 相加完全沒影響 : 主管就說 明天不用再來了 便當GET! : 好心人方便的話 可以附程式碼寫法嗎 qq : --------------------------------------------------------------------- : 題目2 計算7進制的乘法器 : 這題勉強解出 : 用土法煉鋼的方法 所以結構很差 : 而且公司電腦的VC++ 2003 無法使用"^"運算符號.... : 只好寫出7*7*7*7.. 這種鬼東西 : 我先將乘數/被乘數 視為10進制 or 7進制 : 然後轉換成10進制後 做運算 : 運算完 再轉成7進制 : 輸出結果 end : ---------------------------------------------------------------------- : 題目3 計算時鐘 時針與分針夾角 : 這題 google一下 時鐘的角度 就有結果了 : 先存取變數 時(hh)分(mm) : 然後 求取時針的角度 扣掉 分針的角度 : var = (hh+mm/60)*30 - mm*6 : // 360度/12小時=30度/時 360度/60分=6度/分 : var為結果 end : ------------------------------------------------------------------------ : 題外話 : 其實這些題目 在學時老師沒提過 自己也沒想過 : 自己程度還太差 : 還有太多的觀念 與 題型都不知道怎麼解 去哪找題目... : 在這樣沒有很大的學習成長的話... : 工作都不知道要怎麼找 都有點想放棄寫程式了qq : 有人可以分享 以寫c/c++為工作的 到底要會哪些東西 : 概念 觀念 與 例題... 也許題型做多了 就不會領便當了(哭哭) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.4.114
VVll:真的好簡潔有力 感謝 01/12 12:48