作者chlorine (Chlorine)
看板Prob_Solve
標題Objective-C 解碼器問題
時間Fri Jun 20 21:59:29 2014
各位前輩好,小弟現在剛學著寫程式,先拿線上解題程式來練習
現在被 「解碼器」卡住了
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