日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C:电文推位加密

發布時間:2024/3/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C:电文推位加密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述:
為使電文保密,將電文增加一些規律,即:使26個小寫字母構成環狀循環,輸入字符與字母推位的數,使其改變原有的意義,只有得到推位的數反推才能獲得其原有意義(符號與空格不會改變,只有字符改變)

代碼實現:

#include <stdio.h> #include <string.h>int main() {int x, i;scanf("%d", &x);//推位getchar();//吃一個回車(吃掉輸入推位后的下一個任意輸入)char buf;//定義單個字符if ((x >= 26) || (x <= -26))x = x % 26;//取模-保證循環+縮小范圍(保證|x|<26)if (x < 0)x += 26;//負推位轉化成正推位buf = getchar();//獲取第一個字符while (buf != '\n')//保證被判斷的這個不是換行{if (buf > 96 && buf < 123)//ascii碼表中 a-97 z-122{if (buf + x <= 'z')//此字符加完推位后沒有超出zbuf += x;elsebuf += x - 26;//超出z就減一輪,x-26減出來的結果是與原字符的相對位置。比如:如果減出來是負數,就是還沒到它自己(往前推);如果減出來是正數,就是在它之后。printf("%c", buf);//變好一個,打印一個}buf = getchar();//獲取下一個字符,繼續while循環}return 0; }

輸出示例:

總結

以上是生活随笔為你收集整理的C:电文推位加密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。