c語言字串按要求加密 求教,C語言字串按要求加密 求教

我就不給你具體的寫**了,這裡指出你的錯誤:兩個錯誤:1,注意用除10的方法(/10)提取數字時,和我們輸出的字串順序是相反的。比如:數字123按除10的方法變成字串則為"321";所以你要設一個臨時數字,然後再反過來拷貝給cipher;2,數字轉出字串要用迴圈。所以你while

  我就不給你具體的寫**了,這裡指出你的錯誤:

  兩個錯誤:

  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