PTA:7-141 加密

作者 黄龙军

单位 绍兴文理学院

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

输入格式:

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

输出格式:

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

输入样例:

12345 ABCDE

输出样例:

BDFHJ

来源:

[1] 黄龙军, 等. 大学生程序设计竞赛入门—C/C++程序设计(微课视频版), 北京:清华大学出版社, 2020.11. ISBN:9787302564744
[2] 黄龙军.程序设计竞赛入门(Python版),北京:清华大学出版社,2021.4. ISBN:9787302571230

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

#include <stdio.h>
int main()
{
    int n,a,b,c,d,e;
    char s[5];
    while(scanf("%d %s",&n,s) != EOF){
        a = (n/10000)%10;//万位数字
        b = (n/1000)%10;//千位数字
        c = (n/100)%10;//百位数字
        d = (n/10)%10;//十位数字
        e = (n/1)%10;//个位数字
        printf("%c%c%c%c%c\n",(int)s[0]+a,(int)s[1]+b,(int)s[2]+c,(int)s[3]+d,(int)s[4]+e);
//字符串与整型的加法,输出字符型
        a=0;b=0;c=0;d=0;e=0;//a,b,c,d,e重新赋初值为0,为了后续数据测试的准确性
    }
    
    return 0;
}

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值