看板 Prob_Solve 關於我們 聯絡資訊
各位前輩好,小弟現在剛學著寫程式,先拿線上解題程式來練習 現在被 「解碼器」卡住了 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
lNishan:第一個陣列要開27 06/21 01:32
lNishan:全篇看下來我覺得你需要再把字串及陣列弄清楚一點 06/21 01:32
chlorine:謝謝 ,請問為什麼要開27呢?英文只有26個字母而已呀 06/21 10:01
lNishan:Char String有結束字元(\0) 所以要多一個空間 06/22 10:07
lNishan:一般在解題 空間不會抓那麼準 這樣就不必去考慮邊界 06/22 10:08
lNishan:你的問題不在這題的本身 而是基礎語法 建議先把書看仔細 06/22 10:09
chlorine:謝謝解答,我木努力解解看 06/22 19:44