一.题目描述
简单的字符加密题,输入一行字符串,输出的字符串中的每个字母都是26个字母中的下一个。
二.思路
运用string,每一个字母(除了z,Z)的ASC码加一,z和Z需要变成a和A。
三.代码
#include<vector>
#include<iostream>
using namespace std;
int main()
{
int i,j,n;
char a[80];
vector<string>b;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a;
for(j=0;a[j]!='\0';j++)
{
if((a[j]<='Y'&&a[j]>='A')||(a[j]<='y'&&a[j]>='a'))
a[j]=a[j]+1;
else if(a[j]=='z')
a[j]='a';
else if(a[j]=='Z')
a[j]='A';
else ;
}
b.push_back(a);
}
for(i=0;i<n;i++)
{
cout<<"String #"<<i+1<<"\n"<<b[i]<<"\n"<<endl;
}
return 0;
}
四.感受
这道题就是输出时有些规则,思路很简单,但是我速度太慢了。