Objective-C 解碼器問題

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

Links booklink

Contact Us: admin [ a t ] ucptt.com