逗逗泡泡的保密电文
时间: 1ms 内存:128M
描述:
某电报局的电文保密的规律是将每个英文字母变成其后的第4个字母(很原始的那种啦),如A变成E,a变成e。最后四个字母(W,X,Y,Z或w,x,y,z)又变成前4个字母(A,B,C,D或a,b,c,d).非字母字符不变。输入一行字母,要求输出对应的加密后的文字
输入:
一行字符串
输出:
改变后的字符串
示例输入:
I am 20 years old.
示例输出:
M eq 20 cievw sph.
提示:
参考答案(内存最优[920]):
#include<string.h>
#include<stdio.h>
int main()
{
char a[100];
gets(a);
int changdu=strlen(a);
for(int i=0;i<changdu;i++)
{
if((a[i]>='a'&&a[i]<='v')||(a[i]>='A'&&a[i]<='V'))
a[i]+=4;
else if((a[i]>='w'&&a[i]<='z')||(a[i]>='W'&&a[i]<='Z'))a[i]-=22;
else a[i]=a[i];
}
puts(a);
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char str[81];
gets(str);
int i=0;
while (str[i]!='\0')
{
if ((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
{
str[i]=str[i]+4;
if ((str[i]>'Z'&&str[i]<='Z'+4)||(str[i]>'z'&&str[i]<='z'+4))
str[i]=str[i]-26;
}
i++;
}
puts(str);
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。