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