6-4 字符串加密 (10 point(s))
本题要求实现一个函数,能对一行字符串(字符串的长度<80)加密。 加密函数采用的加密算法:如果不是英文字母,就不加密,原样显示;否则就将字母加上一个偏移值5实现加密。注意大小写英文字母分别构成一个封闭环,如字符‘w’,加密后为字符‘b’。
函数接口定义:
void cryptograp(char ch[],int n);
其中给定一行英文字符串存放在数组ch[]中,n是这行字符串的实际长度。
裁判测试程序样例:
#include<stdio.h>
#include<string.h>
void cryptograp(char ch[],int n); //加密函数
int main()
{
int count = 0;
char text[80] = {'\0'}; //存放明文字符串
gets(text);
count = strlen(text);
cryptograp(text,count);
printf("加密后的密文是:\n%s\n", text);
return 0;
}
/* 请在这里填写答案 */
输入样例:
Hello World!
结尾无空行
输出样例:
加密后的密文是:
Mjqqt Btwqi!
结尾无空行
void cryptograp(char ch[],int n)
{
int i;
for(i=0;i<n;i++)//u v w x y z;
{
if(ch[i]>='a'&&ch[i]<='u') ch[i]=ch[i]+5;
else if(ch[i]>='v'&&ch[i]<='z')ch[i]='a'+ch[i]-'v';
if(ch[i]>='A'&&ch[i]<='U') ch[i]=ch[i]+5;
else if(ch[i]>='V'&&ch[i]<='Z')ch[i]='A'+ch[i]-'V';
}
}