输入一个四位数,加密后输出,加密方法是将该数每一位数字加13得到一个数,然后转换成相应的大写字母
4条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
当然可以,根据你的描述,以下是一个简单的C++程序,它接收一个四位数输入,对每一位数字执行加13操作,并将结果转换为对应的大写字母(这里假设超过9的数字会继续循环到A-Z范围内):
#include <iostream> #include <string> using namespace std; char digitToLetter(int digit) { // 将0-9映射到字母A-M上,超过9则循环回到A return (digit + 13 - 1) % 13 + 'A'; } string encryptFourDigitNumber(int number) { string encrypted; for(int i = 0; i < 4; ++i) { int digit = number % 10; encrypted.push_back(digitToLetter(digit)); number /= 10; } reverse(encrypted.begin(), encrypted.end()); return encrypted; } int main() { int fourDigitNumber; cout << "请输入一个四位数: "; cin >> fourDigitNumber; if(fourDigitNumber >= 1000 && fourDigitNumber <= 9999) { string encryptedStr = encryptFourDigitNumber(fourDigitNumber); cout << "加密后的结果是: " << encryptedStr << endl; } else { cout << "错误:输入的不是四位数。" << endl; } return 0; }这段代码首先定义了一个函数
digitToLetter()用于将数字转换为大写字母,然后在encryptFourDigitNumber()函数中处理四位数每一位的加密过程,最后在main()函数中获取用户输入并输出加密结果。请注意,此代码实现基于题目要求的简单加密规则,实际情况中若需保持A-Z范围内的循环,需要对
digitToLetter()函数进行适当调整。解决 无用评论 打赏 举报 编辑记录