用指针实现电文加密。对一行英文电文按如下规则加密: 1.大写字母变小写,小写字母变成大写; 2.字母a变成c字母b变成d字母x变成z,字母y变成a,字母z变成b VC6.0
代码如下:如有帮助,请采纳一下,谢谢。
#include <stdio.h>
#include <string>
int main()
{
char buf[100] = {0};
printf("请输入字符串:");
gets(buf);
int len = strlen(buf);
for (int i = 0; i < len; i++)
{
if(buf[i] >= 'a' && buf[i] <= 'x')
{
buf[i] = buf[i] - 30;
}else if(buf[i] == 'y')
buf[i] = 'A';
else if(buf[i] == 'z')
buf[i] = 'B';
else if (buf[i] >= 'A' && buf[i] <= 'X')
{
buf[i] = buf[i] + 34; //32+2后移两位
}else if (buf[i] == 'Y')
{
buf[i] = 'a';
}else if (buf[i] == 'Z')
{
buf[i] = 'z';
}
}
printf("转换后:%s\n",buf);
//getchar();
//getchar();
return 0;
}
供参考:
#include<stdio.h>
#include<string.h>
void str_enctypt(char *s)
{
if(strlen(s)==0) return;
while(*s){
if(*s>='A' && *s<='Z'){
*s = (*s-'A'+2)%26+32+'A';
}else{
if(*s>='a' && *s<='z')
*s = (*s-'a'+2)%26-32+'a';
}
s++;
}
}
int main()
{
char str[512];
gets(str);
str_enctypt(str);
puts(str);
return 0;
}