Re: [問題] 凱薩加密跑出不出來
看板C_and_CPP (C/C++)作者walm20 (New CygnusX)時間16年前 (2009/06/10 18:40)推噓3(3推 0噓 2→)留言5則, 3人參與討論串2/2 (看更多)
※ 引述《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
推
06/10 18:46, , 1F
06/10 18:46, 1F
→
06/10 18:47, , 2F
06/10 18:47, 2F
→
06/10 18:53, , 3F
06/10 18:53, 3F
※ 編輯: walm20 來自: 140.118.126.177 (06/10 18:54)
推
06/10 18:55, , 4F
06/10 18:55, 4F
推
06/10 19:06, , 5F
06/10 19:06, 5F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章