看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Euler (http://0rz.tw/h23pD )》之銘言: : http://nopaste.info/70410c35f6.html : #include <stdio.h> : #include <stdlib.h> : void caesar(char s[],char a[]); : int main(void) : { : char str[100]; char act[1]; ^^^^ 設多一點吧 : printf("請輸入一段英文字母: "); : gets(str); : printf("請輸入加密(c)or解密(d):") ; : gets(act); : caesar(str,act); printf("%s後: %s\n",act); // 1個參數? : system("pause"); : return 0; : } : void caesar(char s[],char a[]) : { : int i=0; : int j=0; while ( s[i]!='\0',a[j]='\99' ) ^^ ^^ ??? : { : if (s[i]>=97 && s[i]<=117) : s[i]=s[i]+5; /*如果加密往左移五位*/ : else if (s[i]>=118 && s[i]<=122) : s[i]=s[i]-21; : else if (s[i]>=65 && s[i]<=85) : s[i]=s[i]+5; /*如果加密往左移五位*/ : else if (s [i]>=86 && s[i]<=90) : s[i]=s[i]-21 ; : i++; : } : while ( s[i]!='\0', a[j]=100) ^^ ^^ : { : if (s[i]>=97 && s[i]<=117) : s[i]=s[i]-5; /*如果加密往左移五位*/ : else if (s[i]>=118 && s[i]<=122) : s[i]=s[i]+21; : else if (s [i]>=65 && s[i]<=85) : s[i]=s[i]-5; /*如果加密往左移五位*/ : else if (s [i]>=86 && s[i]<=90) : s[i]=s[i]+21; : i++; : } : } : 先輸入一段英文 : 再打上要加密(c)or解密(d) : 整個加密都是往右移五位 : 可是我只能跑到要問我加密解密那裡 : 接下來就沒有跑出密文 : 請問可以幫我看看哪裡出問題了嗎 -- 我的露天拍賣: http://tinyurl.com/6z4rw7 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.126.177
stonehomelaa:不只這些問題 還有他根本沒改到str 06/10 18:46
stonehomelaa:char act[1]; XD 06/10 18:47
walm20:有改到阿 他沒有去更改指標 06/10 18:53
※ 編輯: walm20 來自: 140.118.126.177 (06/10 18:54)
VictorTom:看到這種題目現在第一個反應就是開兩個字母array建表XD 06/10 18:55
stonehomelaa:腦殘看錯 囧 06/10 19:06