7-141 加密

这篇博客介绍了一个简单的字符串加密方法,基于5位正整数的每一位进行字符替换。程序读取输入的整数n和字符串s,通过将s中每个字符按n的每一位偏移进行加密,并输出加密后的字符串。例如,输入12345和'ABCDE',输出为'BDFHJ'。这个过程涉及到了字符编码和位运算的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

信息安全很重要,特别是密码。给定一个5位的正整数n和一个长度为5的字母构成的字符串s,加密规则很简单,字符串s的每个字符变为它后面的第k个字符,其中k是n的每一个数位上的数字。第一个字符对应n的万位上的数字,最后一个字符对应n的个位上的数字。简单起见,s中的每个字符为ABCDE中的一个。

输入格式:

测试数据有多组,处理到文件尾。每组测试数据在一行上输入非负的整数n和字符串s。

输出格式:

对于每组测试数据,在一行上输出加密后的字符串。

输入样例:

12345 ABCDE

输出样例:

BDFHJ

代码:

#include <stdio.h>
int main()
{
    int num;
    char s[6];
    while(scanf("%d %s",&num,s) != EOF){
        int w = (num/10000)%10;	//万位数字
        int q = (num/1000)%10;	//千位数字
        int b = (num/100)%10;	//百位数字
        int s1 = (num/10)%10;		//十位数字
        int g = (num/1)%10;		//个位数字
        printf("%c%c%c%c%c\n",(int)s[0]+w,(int)s[1]+q,(int)s[2]+b,(int)s[3]+s1,(int)s[4]+g);
        w=0;q=0;b=0;s1=0;g=0;
    }
    
    return 0;
}
 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊 : )

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值