7.C与语言简单加密算法

加密算法

题目描述:编写加密程序,加密规则为:将所有字母转化为该字母后的第三个字母,即A->D、B->E、C->F、…、Y->B、Z->C。小写字母同上,其他字符不做转化。输入任意字符串,输出加密后的结果。
例如:输入"I love 007",输出"L oryh 007"
输入描述:输入一行字符串,长度小于100。
输出描述:输出加密之后的结果。
C语言代码

#include <stdio.h>
#include <string.h>

int main()
{
	char s[100];
	gets(s);
	int len = strlen(s);
	for (int i = 0; i < len; i++)
	{
		if (s[i] >= 65 && s[i] <= 87) s[i] = s[i] + 3;  //前23个大写字母
		else if (s[i] >= 88 && s[i] <= 90) s[i] = (s[i] + 2) % 90 + 65;  //后三个大写字母
		else if (s[i] >= 97 && s[i] <= 119) s[i] = s[i] + 3;  //前23个小写字母
		else if (s[i] >= 120 && s[i] <= 122) s[i] = (s[i] + 2) % 122 + 97;//后三个小写字母
	}
	printf("%s", s);
	return 0;
}

注意:1.scanf()函数遇到空格就停止读入了。方法一可将输入函数改为gets();方法二C语言中scanf()函数提供的“%[]”格式串可以用来进行多个字符的输入,并对结束符进行自定义,对于%[]还可以用^+任意字符(包括 EOF)来结束字符串的输入,如%[^EOF]就是直到有EOF 输入,字符串才中止。
2.对于后三个字母得特殊处理,且只能是加2来求余再加上首字母的值,因为加上的首字母值多含了一个1。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值