Objective-C 解碼器問題

看板Prob_Solve (計算數學 Problem Solving)作者 (Chlorine)時間10年前 (2014/06/20 21:59), 10年前編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
各位前輩好,小弟現在剛學著寫程式,先拿線上解題程式來練習 現在被 「解碼器」卡住了 http://zerojudge.tw/ShowProblem?problemid=a009 如果輸入 apple, 加密後位移 一定字元,變成crrng 現在先輸入crrng,希望得到apple。 我想了兩個方式 一是使用兩個array,把加密array對到解密array。輸入哪個英文字 就輸出對應的英文字 但目前做出a~z的array後,就卡住了,還在想怎麼轉換。 另一個想法是使用NSString 轉 asccii 但目前有bug,我參考別人的程式碼後,把字串裡面的每個字轉成ascii 只是把ascii轉回string部分這邊一直有bug, 程式碼如下,可以麻煩各位前輩幫我看看嗎?謝謝 方法一 char alphaBet [26] = "abcdefghijklmnopqrstuvwxyz"; int i=0; for (i;i<=26;i++){ printf("%c",alphaBet [i]); // NSLog(@"%c", alphaBet [1]); } 方法二 char passWord; scanf ("%s", passWord); for (int j=0,i=0 ;i<string.length;i++) { int asciiCode = [string characterAtIndex:i]; printf("%d ",asciiCode); int j; j = i-7; int test = j; NSString *string =[NSString stringWithFormat:@"%c",test]; printf("%s ",string); } 麻煩了,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 121.87.168.62 ※ 文章網址: http://www.ptt.cc/bbs/Prob_Solve/M.1403272772.A.82C.html ※ 編輯: chlorine (121.87.168.62), 06/20/2014 22:00:16

06/21 01:32, , 1F
第一個陣列要開27
06/21 01:32, 1F

06/21 01:32, , 2F
全篇看下來我覺得你需要再把字串及陣列弄清楚一點
06/21 01:32, 2F

06/21 10:01, , 3F
謝謝 ,請問為什麼要開27呢?英文只有26個字母而已呀
06/21 10:01, 3F

06/22 10:07, , 4F
Char String有結束字元(\0) 所以要多一個空間
06/22 10:07, 4F

06/22 10:08, , 5F
一般在解題 空間不會抓那麼準 這樣就不必去考慮邊界
06/22 10:08, 5F

06/22 10:09, , 6F
你的問題不在這題的本身 而是基礎語法 建議先把書看仔細
06/22 10:09, 6F

06/22 19:44, , 7F
謝謝解答,我木努力解解看
06/22 19:44, 7F
文章代碼(AID): #1Jf3v4Wi (Prob_Solve)
文章代碼(AID): #1Jf3v4Wi (Prob_Solve)