凱撒密碼(caeser)是羅馬擴張時期朱利斯•凱撒(julius caesar)創造的,用於加密通過信使傳遞的作戰命令。它將字母表中的字母移動一定位置而實現加密。
他的原理很簡單,說到底就是字母與字母之間的替換。每乙個字母按字母表順序向後移3位,如a加密後變成d,b加密後變成e,……x加密後變成a,y加密後變成b,z加密後變成c。
例如:「baidu」用凱撒密碼法加密後字串變為「edlgx」。
試寫乙個演算法,將鍵盤輸入的文字字串(只包含a~z的字元)進行加密後輸出。
輸入格式:
字串 後面跟乙個回車鍵
注意這裡用回車鍵作為輸入的結束符號
輸出格式:
字串輸入樣例:
輸出樣例:
edlgx
#include
int main(int argc, const char * argv)
else if ('a'<=p&&p<='z')
else if ('a'<=p&&p<='z')
printf("%c",c);
}while (1);
}if (crypt==0)
else if ('a'<=p&&p<='z')
else if ('a'<=p&&p<='z')
printf("%c",c);
}while (1);
}return 0;
}有關scanf與緩衝區的一切
錯因:1.輸入字元時並不是乙個個輸入的,而是一下子輸完後存入緩衝區
2.當快取區有東西時,scanf會直接從緩衝區讀取
#include int main()
此時陣列越界,因為字串的最後乙個'\0'佔據了i的地方,使得i的值變成了0; C語言篇 3 緩衝區問題
鍵盤 鍵盤緩衝區 輸入緩衝區 程式 scanf函式 我們在鍵盤上輸入的任何東西,會先進入輸入緩衝區區域,然後程式從輸入緩衝區裡把資料乙個乙個讀出來。輸入緩衝區的管理方式 先進入的數字會被先讀出來 輸入緩衝區裡把前面的數字讀走了,才能讀後面的數字 scanf就是從輸入緩衝區裡拿數字,如果輸入緩衝區的內...
C語言 清空緩衝區
考慮到下面的 includeint main while n 1 return 0 就是輸入乙個數,然後輸出這個數,如果輸入 1 就表示結束。但是如果使用者不小心輸入了乙個字母 或者其他非數字字元,就會發生死迴圈,這是為什麼呢?這是因為scanf函式是從緩衝區讀取乙個指定格式的變數。並且返回成功讀入...
C語言清除輸入緩衝區
在使用scanf輸入時,如果輸入不合法,此時可以檢查其返回值為0,但下次再呼叫時,上次不合法的輸入,還在輸入緩衝區中,此時就會接著不合法,如下 include int main int argc,char argv printf you input is d n id return 0 這樣,如果輸...