愷撒加密術

標題:愷撒加密術

時間限制: 1000 ms 內存限制: 65536 KB
【題目描述】
加密術最早應用於古代戰爭。古羅馬時期,凱撒大帝曾是使用密碼來傳遞信息,它是一種替代密碼,對於信中的每個字母,會用它後面第i給字母代替。試編一個程序,將輸入的一段英文字符加密後輸出,只加密字母,加密的規則是用字母后來的第1個字母代替用來的字母,即用’b’代替’a’,用’c’代替’b’,······,用’a’代替’z’。

【輸入】
一行字符串。

【輸出】
加密後的字符串。

【輸入樣例】
Nike is excellent!
【輸出樣例】
Ojlf jt fydfmmfou!

【題解】
這道題目首先要求包含空格去輸入字符串或者字符數組。
完成輸入之後遍歷整個字符串,如果對應索引下的字符是字母,在進行判斷是大寫字符還是小寫字符,之後在進行判斷是不是Z或者z。
可以對原有字符串進行修改也可以新建一個字符串進行存儲。

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	string s,ans;    //定義字符串
	getline(cin,s);  //含空格輸入一行字符串
	for(int i=0;i<s.length();i++){
		char c = s[i];
		if(isalpha(c)){  //判斷是否爲字母
			if(isupper(c)){  //判斷是否大寫字母
				if(c>='Z'){  //判斷是否爲‘Z’
					c='A';
				}else{
					c=c+1;
				}
			}else{
				if(c>='z'){
					c='a';
				}else{
					c=c+1;
				}
			}
		}
		ans+=c;
	}
	cout<<ans;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章