4 数字加密 (15分)——一维数组
2017-03-07 20:32
127 查看
think:
1晚上幸亏补题了,要不我的内心估计就留下阴影了,题目真的让我很受伤,明明说了输入一个四位数,呜呜呜,怎么会有前导0这组数据呢,天梯赛的时候自己将输入的数用一个变量存储,然后通过while循环分离出4位,然后通过整型数组存放,通过自己懒投机取巧发现的一个小规律,没思考运算后用一个变量存储输出了,今天晚上看到测试数据的类型后,自己终于明白哪里错了
2反思:多思考
4 数字加密 (15分)
输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。
输入格式:
输入在一行中给出一个四位的整数x,即要求被加密的数。
输出格式:
在一行中按照格式“The encrypted number is V”输出加密后得到的新数V。
输入样例:
1257
输出样例:
The encrypted number is 4601
以下为答案正确代码
1晚上幸亏补题了,要不我的内心估计就留下阴影了,题目真的让我很受伤,明明说了输入一个四位数,呜呜呜,怎么会有前导0这组数据呢,天梯赛的时候自己将输入的数用一个变量存储,然后通过while循环分离出4位,然后通过整型数组存放,通过自己懒投机取巧发现的一个小规律,没思考运算后用一个变量存储输出了,今天晚上看到测试数据的类型后,自己终于明白哪里错了
测试点1 答案正确 9/9 2 1 sample等价,转换中间有前导0 测试点2 答案正确 3/3 1 1 输入有前导0 测试点3 答案正确 3/3 2 1 输出有前导0
2反思:多思考
4 数字加密 (15分)
输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。
输入格式:
输入在一行中给出一个四位的整数x,即要求被加密的数。
输出格式:
在一行中按照格式“The encrypted number is V”输出加密后得到的新数V。
输入样例:
1257
输出样例:
The encrypted number is 4601
以下为答案正确代码
#include <stdio.h> int main() { int x, t; int a[14]; while(scanf("%d", &x) != EOF) { a[0] = x/1000; a[1] = (x/100)%10; a[2] = (x/10)%10; a[3] = x%10; for(int i = 0; i < 4; i++) { a[i] = (a[i] + 9)%10; } t = a[0], a[0] = a[2], a[2] = t; t = a[1], a[1] = a[3], a[3] = t; printf("The encrypted number is "); for(int i = 0; i < 4; i++) { printf("%d", a[i]); } printf("\n"); } return 0; }
相关文章推荐
- PAT乙级1048. 数字加密(20)
- 对数字进行自定义62进制 数字加密 的方法
- 陈冠希后悔没用数字加密硬盘
- 从极光币一窥加密数字资产普及化的重要性
- 数字加密(PAT-1048)
- RSA数字签名与加密、解密间的关系
- 数字加密和认证
- PAT-乙级-1048. 数字加密(20)
- 数字证书的工作原理(加密原理)
- 数字证书原理,公钥私钥加密原理
- 使用GnuPG(PGP)加密信息及数字签名教程
- 使用X.509数字证书加密解密实务(一)-- 证书的获得和管理
- 【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
- 数字货币开发专题(加密过的利息币钱包如何获得POS利息?)
- 1048. 数字加密(20)
- 数组-14. 数字加密(15)
- PAT 1048. 数字加密(20)
- SSL/TLS加密传输与数字证书解读
- 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS(2)
- 5-25 念数字 (15分)