14026: 【原4026】ASCII码和数据类型转换
题目
题目描述
author: 程序设计思想与方法助教组Duke 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/4026
问题描述
编写一个程序,输入一个四位数,将其加密后输出。加密方法是首先将该数每一位上的数字加13得到一个数,然后转换成对应的大写英文字母。1对应‘B’(《C++程序设计实验指导》描述错误,此处应为1对应'A'),2对应'B',……,26对应'Z'。
输入输出描述
输入
- 程序运行到输入时,不要显示输入提示信息。
- 输入为1个4位正整数,测试用例输入仅包含4位正整数。
输出
- 输出为加密后的4位英文字符,结尾处不包含换行符、回车符。
程序运行示例1
Sample Input 1
5089
Sample Output 1
RMUV
程序运行示例2
Sample Input 2
1234
Sample Output 2
NOPQ
程序运行示例3
Sample Input 3
12
Sample Output 3
Error!
注意
- 程序运行示例中,非4位整数的情况需要使用if语句,本次实验不作要求,可自行实验。
- 不要显示提示信息,即不要出现题目要求以外的输出,避免输出判定错误。
- 输出时注意去除多余的空格,输出结尾时不输出换行符、回车符,避免输出判定错误。
- 程序编写过程中,注意全角和半角符号问题,避免编译报错。
- 以上程序运行示例仅用作明确阐述题意,与OJ实际测试用例不同。
- 注意ASCII码表编码规则。
- 注意数据类型转换的边界值。
ligongzzz's solution
#include <iostream>
using namespace std;
int main() {
char a, b, c, d;
int input;
cin >> input;
a = input / 1000;
b = (input % 1000) / 100;
c = (input % 100) / 10;
d = (input % 10);
a = a + 77;
b = b + 77;
c = c + 77;
d = d + 77;
cout<< a << b << c << d << endl;
return 0;
}