输入一个四位数,将其加密后输出。加密方法是首先将该数每一位上的数字加13得到一个数,然后转换成对应的大写英文字母。1对应 A,2对应’B’,…26对应’Z’。用C/C++代码写出
时间: 2024-10-02 22:02:20 浏览: 133
在C/C++中,你可以使用一个简单的循环来实现这个加密过程。这里是一个示例代码:
```cpp
#include <iostream>
#include <string>
// 函数用于将数字转为大写字母对应的ASCII码
char numToChar(int num) {
if (num >= 0 && num <= 25) {
return static_cast<char>('A' + num);
}
return '\0'; // 如果超出范围返回空字符,因为通常只处理小到26的情况
}
// 加密函数
std::string encryptNumber(int number) {
std::string encrypted;
while (number > 0) {
int digit = number % 10; // 取出个位数字
char encryptedChar = numToChar(digit + 13); // 加13并转为字母
encrypted += encryptedChar; // 将字符添加到结果字符串
number /= 10; // 移除个位,对十进制数进行下一位操作
}
// 逆序字符串,因为我们是从低位开始加密的
std::reverse(encrypted.begin(), encrypted.end());
return encrypted;
}
int main() {
int inputNumber;
std::cout << "请输入一个四位数:";
std::cin >> inputNumber;
std::string encrypted = encryptNumber(inputNumber);
std::cout << "加密后的字符串为:" << encrypted << std::endl;
return 0;
}
```
在这个程序中,用户输入一个四位数,`encryptNumber` 函数会按照描述的过程对其进行加密,并打印出结果。
阅读全文