题目原文
题目描述
现给定一个加/解密指令(e/d) 一个密钥(0~9)和一系列的学生成绩(个数未知),请将它们拼接在一起并使用以下规则进行加密:
数字1被key=5加密之后变成6;数字5被key=5加密之后变成0。单个数字加密之后仍是单个数字。
解密规则与加密规则对称
输入
指令
密钥
成绩列表
输出
处理后的成绩列表
样例
输入样例1
e
1
85 84 83 78 89 45 90 88 12 41 99 100
输出样例1
96 95 94 89 90 56 01 99 23 52 00 211
AC代码
#include <stdio.h>
#include <ctype.h>
int main()
{
char order;
int key;
scanf("%c%d", &order, &key);
getchar();
if (order == 'd')
key = -key;
char ch;
while (~scanf("%c", &ch))
{
if (isdigit(ch))
ch = ((ch - '0') + key + 10) % 10 + '0';
printf("%c", ch);
}
return 0;
}