我就不給你具體的寫**了,這裡指出你的錯誤:
兩個錯誤:
1, 注意用 除10的方法(/10)提取數字時,和我們輸出的字串順序是相反的。比如:數字123按除10的方法變成字串則為”321″;所以你要設一個臨時數字,然後再反過來拷貝給cipher;
2,數字轉出字串要用迴圈。所以你while迴圈裡面還要加while迴圈~
void encryp(char *plain,char *cipher)這個函式你寫複雜了,如下就可以了——
void encryp(char *plain,char *cipher)
這樣加密就完結了。
1 子函式的修改。只要減掉24 即可,其餘語句多餘。
void encryp(char *plain,char *cipher)
*cipher=’0′;
}2 對輸出句的修改。改為按數字格式(知識點)輸出即可。
參考下,你的演算法有問題。
#include “stdio.h”
void encryp(char *plain,char *cipher)
cipher++;
*cipher=’0′;
}int main()
,ch2[450]=;
gets(ch1);
encryp(ch1,ch2);
puts(ch2);
return 0;}
c語言字串加密問題
樓主,你的問題在於沒有對陣列 r 初始化(而s的輸出沒有問題),這樣輸出的時候找不到結束符,所以就一直輸出下去,因此出現了亂碼。
提出兩種修改方法,這兩種方法都可以避免你的問題:
1、char r[10000]=; 後就可以了。這樣你輸入的字串不管是多長,到時後面的都是結束符。
2、上面不對r進行初始化,而修改下面
for(i=0;s[i]!=’0′;i++)r[i]=’0′; //在r的後面加上結束符就可以了
c語言字串加密
#include
encode(char * s)
}main()
1.main()
2.#include “stdlib.h”
struct pw
main()
p=head;}
c語言字串加密
100
#include
#include
char?table1=”abcdeik;w”;
char?table2=”dwk;iabce”;
int?init(char?c)
return;
}int?main()
c語言怎麼加密字元
我沒注意只要小寫,我寫的是大小寫都可以的,另外附送輸入驗證。
#include
#include
int?main()
else
}printf(“原字串為:%s
加密後的字串為:%s
“,str,str2);
return?0;}
c語言本身是不能加密字元的,但你可以寫一個加密程式來加密。
為敘述方便,不妨設這個程式為jm。
給定一個字串s,加密後的串為jm(s),我們稱之為密文,原串為明文。
只要有這麼一個jm程式,就可以實現加密字元。
相對應的還有解密。
p.s.常用的加密方法有迴圈字串法、金鑰加密法
#include
encode(char * s)
}main()
c語言 字串加密
#include
#include
#include
int?main(void)
else
}else?if?(c[i]?>=?’a’?&&?c[i]?=(int)’a’;i–)
for(int i=(int)’z’;i>=(int)’a’;i–)
console.writeline(str.tostring());
大概就這樣了,偷懶沒考慮沒考慮吧a—》z or a—》z